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

本文关键字:无效 错误 参数 构造函数 位图 | 更新日期: 2023-09-27 18:30:59

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

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

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


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


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

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

不应从位图创建新的位图,只需将引用强制转换为已有的位图:

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

如果从从文件加载的位图创建新位图,则不会获得对加载的位图的任何引用。由于您无法处理该位图,因此将它们留给垃圾回收器完成,如果速度不够快,则可能会耗尽内存。

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

var b = new Bitmap(imagePath);