如何在c#中压缩位图

问题描述 投票:0回答:1

我有一个需要截图的代码,我需要对其进行压缩才能发送。以下代码将位图转换为流并对其进行压缩。我的问题是压缩结果总是一个充满零的字节数组(在这种情况下,它是变量bb)。

byte[] bb;
Bitmap bmp = this.screenshots.RemoveFromFront();
Stream stream = new MemoryStream();
EncoderParameters encoderParameters = new EncoderParameters(1);
encoderParameters.Param[0] = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, 100L);
bmp.Save(stream, GetEncoder(ImageFormat.Jpeg), encoderParameters);
using (var compressStream = new MemoryStream())
using (var compressor = new DeflateStream(compressStream, CompressionMode.Compress))
{
       stream.CopyTo(compressor);
       compressor.Close();
       bb = compressStream.ToArray();
}
c# bitmap compression memorystream deflatestream
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.