System.Drawing.GDIPlus.CheckStatus System.Drawing.Image.FromFile System.ArgumentException [GDI+ 状态:无效参数]

System.Drawing.GDIPlus.CheckStatus System.Drawing.Image.FromFile System.ArgumentException [GDI+ status: InvalidParameter]

实际上在 Raspberry PI 2。 $ uname -a Linux raspberrypi 3.18.7-v7+ #755 SMP PREEMPT Thu Feb 12 17:20:48 GMT 2015 armv7l GNU/Linux

$ 单声道 --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:

此文件在 windows 上运行良好(DIES HERE:System.Drawing.Image.FromFile(filePath)

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

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

Image 8 is not confined to screen dimension, aborted.

我还必须警告您,如果您对单声道进行任何认真的图像处理 - 避免使用标准位图和相关 类,它们在很多方面都有问题(根据我自己的新经验)。对于大多数图像操作,我直接使用 MagickWand C api(通过 p-invoke)。