You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C# WinForms Bitmap保存图片画质极差,如何优化?

解决Bitmap保存后画质下降的问题

方案1:直接保存PictureBox中的原始图像

通过DrawToBitmap从控件渲染图像会引入画质损失,因为它捕获的是控件的显示状态(可能经过缩放、低质量插值处理)。直接使用PictureBox的Image属性保存原始图像数据,是最可靠的保画质方式:

// 保存为无损PNG格式
pageImage.Image.Save(originalLocation, System.Drawing.Imaging.ImageFormat.Png);

// 若需保存为JPEG并设置最高画质
var qualityParams = new System.Drawing.Imaging.EncoderParameters(1);
qualityParams.Param[0] = new System.Drawing.Imaging.EncoderParameter(
    System.Drawing.Imaging.Encoder.Quality, 100L);
var jpegCodec = ImageCodecInfo.GetImageEncoders()
    .First(codec => codec.FormatID == System.Drawing.Imaging.ImageFormat.Jpeg.Guid);
pageImage.Image.Save(originalLocation, jpegCodec, qualityParams);

方案2:优化DrawToBitmap的渲染参数

如果必须从控件渲染(比如控件上叠加了自定义绘制内容),需要在绘制时配置高质量渲染选项,减少画质损耗:

using (Bitmap bmp = new Bitmap(pageImage.Width, pageImage.Height))
{
    using (Graphics g = Graphics.FromImage(bmp))
    {
        // 开启高质量渲染模式
        g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
        g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
        g.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.HighQuality;
        g.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
        
        pageImage.DrawToBitmap(bmp, new Rectangle(0, 0, pageImage.Width, pageImage.Height));
    }
    // 优先选择无损格式保存
    bmp.Save(originalLocation, System.Drawing.Imaging.ImageFormat.Png);
}

方案3:修正PictureBox的缩放模式

如果PictureBox的SizeMode设置为StretchImage、Zoom等缩放模式,控件会自动缩放图像导致画质下降。可以临时切换为原始尺寸模式后再渲染:

var originalSizeMode = pageImage.SizeMode;
pageImage.SizeMode = PictureBoxSizeMode.Normal;

using (Bitmap bmp = new Bitmap(pageImage.Width, pageImage.Height))
{
    pageImage.DrawToBitmap(bmp, new Rectangle(0, 0, pageImage.Width, pageImage.Height));
    bmp.Save(originalLocation, System.Drawing.Imaging.ImageFormat.Png);
}

pageImage.SizeMode = originalSizeMode;

内容的提问来源于stack exchange,提问作者Silme94

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 03:54:57