c#imagetools gif到png

时间:2012-08-21 13:17:42

标签: c# wpf windows-phone-7 xaml

我尝试使用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;

2 个答案:

答案 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等更改它。