打印图像模糊问题解决方法

思路:核心 图像转换
1、修改图像dpi值
2、使用高质量的双三次插值法
3、指定高质量

C# Code 、如下:

    /// <summary>
    /// 图像质量提升 解决打印模糊问题
    /// </summary>
    /// <param name="sourceimg"></param>
    /// <param name="dpiX"></param>
    /// <param name="dpiy"></param>
    /// <returns></returns>
    private Bitmap ImageQualityUp(Image sourceimg, float dpiX, float dpiy)
    {
        // 创建画布
        Bitmap bmp = new Bitmap(currentBitmap.Width, currentBitmap.Height, PixelFormat.Format24bppRgb);
        bmp.SetResolution(dpiX, dpiy);
        using (Graphics g = Graphics.FromImage(bmp))
        {
            // 用白色清空 
            g.Clear(Color.White);

            // 指定高质量的双三次插值法。执行预筛选以确保高质量的收缩。此模式可产生质量最高的转换图像。 
            g.InterpolationMode = InterpolationMode.HighQualityBicubic;

            // 指定高质量、低速度呈现。 
            g.SmoothingMode = SmoothingMode.HighQuality;

            // 在指定位置并且按指定大小绘制指定的 Image 的指定部分。 
            g.DrawImage(currentBitmap, new Rectangle(0, 0, currentBitmap.Width, currentBitmap.Height),
            new Rectangle(0, 0, currentBitmap.Width, currentBitmap.Height), GraphicsUnit.Pixel);
        }

        return bmp;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值