-3

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

2 回答 2

3

你可以按照这个

// 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);
于 2012-08-21T13:44:48.040 回答
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 等进行更改。

于 2012-08-21T13:34:39.763 回答