【问题标题】:Bitmap class error in c# (The parameter is not valid)c#中的位图类错误(参数无效)
【发布时间】:2013-10-26 05:00:40
【问题描述】:

我想将图像转换为位图格式。这是我写的代码:-

Bitmap bmp = new Bitmap("c:\\images\\a10.png");

参数图像取自函数参数。它采用带有文件名的完整路径。当我运行时,会弹出一个错误,显示“参数无效”。但是这个类接受文件名作为构造函数。

【问题讨论】:

  • image 是 System.Drawing.Image 吗?
  • @paqogomez 不,它只是一个字符串变量,它接受带有文件名的完全限定路径。
  • GDI+ 异常不是很好。这可能意味着几件事:错误的文件名、错误的文件内容、文件不可访问或不适合内存。

标签: c# bitmap


【解决方案1】:

您设置的图片路径不正确。该图像在该位置不存在。

检查您的路径以验证图像。

如果 png 存在,此代码将正确地将 png 保存到 bmp。

Bitmap bmp = new Bitmap("c:\\images\\a10.png");
bmp.Save("c:\\images\\a10.bmp");

编辑:

以上方法对我有用,但这是另一种方法:

Image bmp = Image.FromFile("c:\\images\\a10.png");
bmp.Save("c:\\images\\a10.bmp", ImageFormat.Bmp);

【讨论】:

  • Save() 调用实际上将图像保存为 PNG 格式,如果您没有明确指定图像格式,则为默认格式。它确实注意文件扩展名。所以你的代码留下了一个 .bmp 文件,它实际上并不是一个 BMP 文件。很糟糕的主意。
  • @HansPassant 在我尝试之前我也是这么认为的。自己做的,它保存了一个位图。
  • 我用过 .Net 4.5。 @Sandesh,HansPassant 是正确的,您尝试加载的文件一定有问题。
【解决方案2】:

最简单的方法是:

Bitmap bm = new Bitmap("C:/images/a10.png");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-03
    相关资源
    最近更新 更多