0

我知道,我知道……还有很多其他类似的帖子。我没有找到我要找的东西,让我们继续。

我使用这个用于 C# 的 GhostScript 实现将 PDF 分解为图像,然后尝试将每个图像加载到位图中,有时它会Parameter is not valid error在这一行给我一个:

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


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

PS
我将结果转换为,Image因为当我快速查看 Image.FromFile(...) 的结果时,它显示为 System.Drawing.Bitmap (无论哪种方式,转换,不转换,都会产生相同的结果)。

4

2 回答 2

3

您不应该从位图创建新位图,只需将引用投射到您已经拥有的位图:

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

如果您从从文件加载的位图创建新位图,则不会获得对加载的位图的任何引用。由于您无法处理该位图,您将把它们留给垃圾收集器完成,如果这没有足够快地发生,您可能会耗尽内存。

于 2012-04-13T21:10:50.717 回答
2

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

var b = new Bitmap(imagePath);
于 2012-04-13T21:40:55.117 回答