gpt4 book ai didi

c# - 从 MemoryStream c# 解压缩 JPEG

转载 作者:太空宇宙 更新时间:2023-11-03 15:50:40 25 4
gpt4 key购买 nike

在我的程序中,我将 BMP 压缩成 JPEG,如下所示:

private void ConvertBmpToStreamJPG30(Bitmap b, Stream s)
{
s.Flush();
EncoderParameters encoderParameters = new EncoderParameters(1);
encoderParameters.Param[0] = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, 30L);
b.Save(s, GetEncoder(ImageFormat.Jpeg), encoderParameters);
}

然后一个函数在 MemoryStream 中接收 JPEG,我通过执行将其转换为 Bitmap

Bitmap b = new Bitmap(stream);

当我显示图像时,有很多这样的行:

Screenshot

我做错了什么,伙计们?

编辑 1这是一个显示问题的小型 visual studio 解决方案:http://www.fast-files.com/getfile.aspx?file=79311

它是一个屏幕共享软件的开始。它的作用:它截取屏幕截图,比较它们,压缩差异并将其发送到程序的另一部分,解压缩它并用收到的所有内容重新合成图像。它会打开一个窗口,左侧显示“已发送”的内容,右侧显示重组后的图像。

最佳答案

想到三件事:

  1. 尝试设置比 30 更好的质量,看看是否有帮助;
  2. 检查您的 RAM(可能还有视频 RAM,尽管我怀疑 GDI+ 可能使用 VGA 进行压缩)是否存在硬件问题;
  3. 我有一个 similar weird problem我加载了一些 JPEG 文件,稍微修改了一下,然后再次保存。这产生了一个异常(exception)。解决方案是根据旧位图制作新位图并保存副本。试试看。

关于c# - 从 MemoryStream c# 解压缩 JPEG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25975765/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com