如何在 C# 代码中将 gif 图像转换为 jpeg winforms

本文关键字:转换 图像 jpeg winforms gif 代码 | 更新日期: 2023-09-27 18:32:27

我正在尝试将我的 gif/png 图像转换为 jpeg,然后我想通过 这些图像到 SQL数据库。因为水晶报告不支持 gif 图像 以显示为报告。

所以现在我有一个问题,将 gif 图像隐蔽到 jpeg。

示例代码:

data = File.ReadAllBytes(ImgPath);

数据是字节[]类型,所以我有图像路径,现在我想转换为JPEG 在 ReadAllBytes() 调用之前

我试过这样:

   using (Image img = Image.FromFile(ImgPath))
   {
             img.Save(ImgPath, System.Drawing.Imaging.ImageFormat.Jpeg);
   }

但是我得到了通用错误 Gdi 有些东西来了。 谢谢。

如何在 C# 代码中将 gif 图像转换为 jpeg winforms

这是代码:

        byte[] imagebuffer;
        using (Image img = Image.FromFile(@"c:'temp_10'sample.gif"))
        using (MemoryStream ms = new MemoryStream())
        {
            img.Save(ms, ImageFormat.Jpeg);
            imagebuffer = ms.ToArray();
        }
        //write to fs (if you need...)
        File.WriteAllBytes(@"c:'temp_10'sample.jpg", imagebuffer);

要使用的命名空间是 System.Drawing

我已经修改了我的代码,我认为你不需要文件系统上的文件,但你可以使用字节数组来调用 Crystal 报告

这里有两个地方可以提供帮助。 一个是Microsoft的网站,介绍如何将图像文件读入内存。

https://msdn.microsoft.com/en-US/library/TWSS4WB0(v=vs.90).aspx

接下来是网站上其他用户的示例,介绍如何将文件以您想要的格式读取到位数组中。 我假设您希望将其作为字节数组,以便您可以对其进行处理,而不是将其作为文件放回原处。

如何转换字节数组中的图像

我会把它全部打出来,但找到了例子,它们是不言自明的。 :-)

我认为

你可以比bdn02的答案更简单。尝试:

Image img = Image.FromFile(@"c:'temp_10'sample.gif");
img.Save(@"c:'temp_10'sample.jpg", ImageFormat.Jpeg);