c# - 调用 nuGet 包中的代码时,GDI+ 中发生一般错误
问题描述
我正在开发一个程序,该程序使用一个 NuGet 包,该包在从网络摄像头异步加载(带等待)后从 byteArry 保存图像。当我直接执行代码时,它可以工作,但是当我通过 NuGet 包在其他项目中调用该函数时,它会在 GDI+ 中引发一般错误而失败。
我在该论坛的另一篇文章中读到,如果字节数组未完全加载,可能会发生这种情况。因此,我在保存之前添加了 1 秒的延迟,但这没有帮助。
谁能告诉我,如果我直接调用函数而不是库,为什么相同的代码不会引发异常?
亲切的问候,沃尔夫冈
解决方案
最后我找到了问题的解决方案:在直接使用该函数的测试程序中,我将图像存储到可执行文件的目录中。在通过 nuget 包使用该功能的应用程序中,我将图像存储到一个不存在的目录中。
因此,在图像路径中创建所有目录为我解决了这个问题:) 因此我使用以下代码:
System.IO.Directory.CreateDirectory(Path.GetDirectoryName(filename));
如果可以将其集成到 System.Drawing.Image.Save 中,那就太好了!
推荐阅读
- c# - 找不到包裹***。源中不存在具有此 ID 的包:“Local Nuget”、Microsoft Visual Studio 脱机包、nuget.org
- python - 帧中的背景检测
- java - 如何在 Kotlin 中获取 Java 原始 void 类?
- django - Django 在每个视图中显示消息
- c++ - C++ condition_variable wait_for() 永远阻塞
- windows - VBScript Windows 自动登录脚本
- spring - Spring Boot 2 MongoDB @TypeAlias 不起作用
- c# - 固定包含非 blitable 类型的结构数组 c#
- excel - 自定义插件中的 VBA 表单
- javascript - 如何以编程方式为整个组件访问 Vue 组件中样式标签的内容(innerText)?