[英]Save bitmap to any format
对于C#保存位图的方式,我有些困惑。 我目前使用此语句将位图保存到(实际上)任何扩展名(.ico,.dds等)。
Bitmap.Save(FileName);
这实际上适用于我选择的任何扩展名,但是我怀疑它是否以正确的格式保存。 说疑惑的原因是因为我在这里找到另一篇文章, 如何将位图另存为图标? ,它类似于:
// Create a Bitmap object from an image file.
Bitmap bmp = new Bitmap(sFn);
// Get an Hicon for myBitmap.
IntPtr Hicon = bmp.GetHicon();
// Create a new icon from the handle.
Icon newIcon = Icon.FromHandle(Hicon);
//Write Icon to File Stream
System.IO.FileStream fs = new System.IO.FileStream(destFileName, System.IO.FileMode.OpenOrCreate);
newIcon.Save(fs);
这显然是不同的。 有两个问题:
正确的方法是使用原始的Bitmap.Save(Filename)
但是您缺少ImageFormat变量,该变量基本上将根据指定格式的图像进行实际转换。
当前,您使用它的方式将导致一个名为“ somefile.somextension”的文件,但没有图标对象的实际内容。
最好的方法是使用:
Bitmap.Save(String, ImageFormat)
例如,保存一个.ico文件:
Bitmap.Save(String, System.Drawing.Imaging.ImageFormat.Icon)
希望这有帮助,祝你好运。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.