2012-04-13 86 views
0

我知道,我知道......还有很多其他的帖子是这样的。我没有找到我期待的东西,让我们继续前进。参数在位图构造函数上是无效的错误

我打破了PDF到图像使用this GhostScript implementation for C#,然后尝试给每个图像加载到一个位图,有时它让我在这一行一个Parameter is not valid error

[...]new Bitmap((Image)Image.FromFile(imagePath))[...] 


Image.FromFile(imagePath)成功返回影像(虽然我认为它是返回一个Bitmap),但是Bitmap的构造函数给了我错误。我究竟做错了什么?

P.S.
我铸造结果Image,因为当我快看Image.FromFile(...)的结果,它显示了它作为一个System.Drawing.Bitmap(无论哪种方式,投,投不,得到相同的结果) 。

+1

确定Image.FromFile是实际加载的东西吗?你使用什么版本的.net。你有没有尝试过'新的位图(imagePath)'?在Bitmap中有一个构造函数需要一个路径 – Jaime 2012-04-13 21:08:42

+0

我按照你的建议使用了Bitmap构造函数,它似乎工作正常。我正在修复其他一些小错误,然后我会再次测试。 – PedroC88 2012-04-13 21:20:01

+0

写一个答案,就是这样。 – PedroC88 2012-04-13 21:35:20

回答

2

尝试使用接收到图像的路径,像这样的位图的构造函数:

var b = new Bitmap(imagePath); 
3

你不应该创建位图新位图,只投提到你已经将位图:

Bitmap b = (Bitmap)Image.FromFile(imagePath); 

如果您创建位图,你从文件加载一个新的位图,你没有得到你加载的位图的任何参考。由于您无法处理该位图,因此您会将它们留给垃圾收集器来完成,如果发生的速度不够快,则可能会导致内存不足。