程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Bitmap.Save 出现 Null Exception 错误,但它已明确实例化大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决Bitmap.Save 出现 Null Exception 错误,但它已明确实例化?

开发过程中遇到Bitmap.Save 出现 Null Exception 错误,但它已明确实例化的问题如何解决?下面主要结合日常开发的经验,给出你关于Bitmap.Save 出现 Null Exception 错误,但它已明确实例化的解决方法建议,希望对你解决Bitmap.Save 出现 Null Exception 错误,但它已明确实例化有所启发或帮助;

在升级到 Unity 和 Visual studio 之前,我有一个简单的代码块,可以正常运行,但在更新之后完全相同的逻辑引发了 @H_404_1@NullReferenceException。

调用 @H_404_1@BitMap.Save() 时引发异常,但我已验证所有输入均已正确实例化,并且我可以在调试期间检查所有关联对象,但无法识别任何空值。在这种情况下,@H_404_1@NullReferenceException 非常不明确,我怀疑它与 Unity 的更新特别相关。

请不要像我的 what is a NullReferenceException,and how do I fix it? 一样关闭重复的“other”。这似乎是 @H_404_1@Bitmap 的内部问题,我正在寻找有关如何解决此问题的具体指导。

@H_404_1@Bitmap newBmp = new Bitmap(16,16);
for (int i= 0; i< 16; i++)
{
    for (int j= 0; j< 16; j++)
    {
         newBmp.SetPixel(i,j,color.bluE);
    }
}
using (MemoryStream ms = new MemoryStream())
{
    newBmp.Save(ms,ImageFormat.bR_11_11845@p); // Null??
    // do more stuff with ms if it dIDn't crap out
}

异常详细信息,在 @H_404_1@newBmp.Save() 上引发

注意:@H_404_1@newBmp 或 @H_404_1@ms 都不为空,并且上面的逻辑已将每个像素设置为蓝色。

@H_404_1@NullReferenceException: Object reference not set to an instance of an object
System.Drawing.ComIStreAMMarshaler+ManagedToNativeWrapper..cctor () (at <556bd4f081384ff9b1658a316bdf6616>:0)
Rethrow as TypeInitializationException: The type initializer for 'ManagedToNativeWrapper' threw an exception.
System.Drawing.ComIStreAMMarshaler.MarshalManagedToNative (System.Object managedobj) (at <556bd4f081384ff9b1658a316bdf6616>:0)
System.Drawing.Image.Save (System.IO.Stream stream,System.Drawing.Imaging.ImageCodecInfo encoder,System.Drawing.Imaging.EncoderParameters encoderParams) (at <556bd4f081384ff9b1658a316bdf6616>:0)
System.Drawing.Image.Save (System.IO.Stream stream,System.Drawing.Imaging.ImageFormat format) (at <556bd4f081384ff9b1658a316bdf6616>:0)
(wrapper remoTing-invoke-with-check) System.Drawing.Image.Save(System.I

解决方法

事实证明,我不久前加入 Unity 项目的 System.Drawing.dll 版本与新版本的 Unity 不兼容。我们通过删除 dll 并将“csc.rsp”文件添加到 Assets 文件夹并添加行 -r:System.Drawing.dll 来解决它,我认为它会自动使用适当的版本。

大佬总结

以上是大佬教程为你收集整理的Bitmap.Save 出现 Null Exception 错误,但它已明确实例化全部内容,希望文章能够帮你解决Bitmap.Save 出现 Null Exception 错误,但它已明确实例化所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。