我尝试使用ImageTools将.gif转换为.png。不幸的是我失败了,我不知道为什么。这是我的代码 - 简单,但它不起作用。你能说出哪里出错吗?非常感谢。
fs = new FileStream(@"\Photo.gif", FileMode.Open, FileAccess.Read, FileShare.Read);
PngEncoder encoder = new PngEncoder();
ExtendedImage ei = new ExtendedImage();
ei.SetSource(fs);
MemoryStream toms = new MemoryStream();
encoder.Encode(ei, toms);
BitmapImage bi = new BitmapImage();
bi.StreamSource = toms;
image1.Source = bi;
答案 0 :(得分:3)
您可以关注this
// Load the image.
System.Drawing.Image image1 = System.Drawing.Image.FromFile(@"C:\test.bmp");
// Save the image in JPEG format.
image1.Save(@"C:\test.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
// Save the image in GIF format.
image1.Save(@"C:\test.gif", System.Drawing.Imaging.ImageFormat.Gif);
// Save the image in PNG format.
image1.Save(@"C:\test.png", System.Drawing.Imaging.ImageFormat.Png);
答案 1 :(得分:1)
您可以使用以下代码将位图图像转换为PNG格式。
private byte[] ConvertToPNG(Bitmap bmp)
{
MemoryStream ms = new MemoryStream();
// Save to memory using the Png format
bmp.Save (ms, ImageFormat.Png);
// read to end
byte[] bmpBytes = ms.GetBuffer();
bmp.Dispose();
ms.Close();
return bmpBytes;
}
如果您想更改格式,那么您也可以通过ImageFormat.Jpeg,ImageFormat.gif等更改它。