参数在位图构造函数上无效错误

时间:2012-04-13 21:01:28

标签: c# winforms bitmap ghostscript

我知道,我知道......还有很多这样的帖子。我没找到我要找的东西,让我们继续前进。

我使用this GhostScript implementation for C#将PDF分解为图像,然后尝试将每个图像加载到位图中,有时它会在此行中为我提供Parameter is not valid error

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


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

P.S。
我将结果转换为Image,因为当我快速观察Image.FromFile(...)的结果时,它将它显示为System.Drawing.Bitmap(无论是方式,强制转换,没有强制转换,都会产生相同的结果)结果)。

2 个答案:

答案 0 :(得分:3)

您不应该从位图创建新的位图,只需将引用转换为您已经存在的位图:

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

如果从您从文件加载的位图创建新位图,则不会获得对您加载的位图的任何引用。由于您无法处置该位图,因此您将把它们留给垃圾收集器进行最终确定,如果这种情况发生得不够快,则可能会耗尽内存。

答案 1 :(得分:2)

尝试使用接收图像路径的Bitmap构造函数,如下所示:

var b = new Bitmap(imagePath);