System.Drawing.GDIPlus.CheckStatus System.Drawing.Image.FromFile System.ArgumentException [GDI + sta

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了System.Drawing.GDIPlus.CheckStatus System.Drawing.Image.FromFile System.ArgumentException [GDI + sta相关的知识,希望对你有一定的参考价值。

实际上在Raspberry PI 2. $ uname -a Linux raspberrypi 3.18.7-v7 +#755 SMP PREEMPT 2月12日星期二17:20:48 GMT 2015 armv7l GNU / Linux

$ mono --version Mono JIT编译器版本3.2.8(Debian 3.2.8 + dfsg-4 + rpi1)

getImageFromFile=images/complex/complex C3.jpg
loadOverlayImages plant life loadImages
getImageFromFile=images/butterfly/animated-butterfly-image-0004.gif
fn=images/butterfly/animated-butterfly-image-0004.gif  targetDir=images/butterfly  PlantImage.GetFrameCount=5 for file:images/butterfly/animated-butterfly-image-0004.gif
getImageFromFile=images/butterfly/animated-butterfly-image-0005.gif
ERROR: getImageFromFile- System.ArgumentException: A null reference or invalid value was found [GDI+ status: InvalidParameter]
  at System.Drawing.GDIPlus.CheckStatus (Status status) [0x00000] in <filename unknown>:0
  at System.Drawing.Image.FromFile (System.String filename, Boolean useEmbeddedColorManagement) [0x00000] in <filename unknown>:0
  at System.Drawing.Image.FromFile (System.String filename) [0x00000] in <filename unknown>:0
  at PlantLifeAnimationForm.PlantLifeImagesService.getImageFromFile (System.String filePath) [0x00015] in     /home/pi/emgucv/PlantLifeAnimation/PlantLifeAnimationForm/model/PlantLifeImagesService.cs:223
fn=images/butterfly/animated-butterfly-image-0005.gif  targetDir=images/butterfly
Unhandled Exception:

enter image description here

此文件在Windows上正常工作(DIES HERE:System.Drawing.Image.FromFile(filePath)

            using (Bitmap temp = (Bitmap)System.Drawing.Image.FromFile(filePath))
            {
                bitmapSource = (Bitmap)temp.Clone();
            }
答案

看到这个单声道的bug - https://bugzilla.novell.com/show_bug.cgi?id=510805。基本上他们说的是像你这样的问题,当libgif无法处理提供的gif时。例如,对于您的图像,gifinfo(它是libgif-tools包的一部分)说:

图8不限于屏幕尺寸,中止。

我还必须警告你,如果你对单声道进行任何严肃的图像处理 - 避免使用标准的Bitmap和相关的类,它们在很多方面都是错误的(根据我自己的新体验)。对于大多数图像处理,我直接使用MagickWand C api(通过p调用)。

以上是关于System.Drawing.GDIPlus.CheckStatus System.Drawing.Image.FromFile System.ArgumentException [GDI + sta的主要内容,如果未能解决你的问题,请参考以下文章