• C#下解决DrawImage画出来的Image变大了的问题


    如:

    private Image image= Resources.image1;//假设image1这张资源图是360×600这么大

    private Graphics graphics;

    graphics.DrawImage(image, 0, 0);//在[0,0]坐标处画出image,我擦!绘出来的图片比原图变大了! 

    什么原因呢???

    原来,DrawImage是与设备相关的函数,也就是,DrawImage会把屏幕的参数带上!!!

    所以,它绘制图像的DPI基本都是96。而我们的图片是一般是72DPI的。

    例如,假定一个 Image 对象的宽度为 216 像素,而存储的水平分辨率值为 72 点/英寸。因为 216 除以 72 等于 3,所以 DrawImage 将缩放该图像,使其在
    96 点/英寸的分辨率下的宽度为 3 英寸。也就是说,DrawImage 将显示一个宽度为 96x3 = 288 像素的图像。

    解决法办:

    1:graphics.DrawImage(image, 0, 0, image.Width, image.Height) ;//加上原图的宽度和高度就OK了

    2: image.SetResolution(96, 96) ;//设置SetResolution,使其按96 点/英寸的分辨率显示

    https://www.cnblogs.com/sungong1987/p/5269617.html

  • 相关阅读:
    中文转数字
    半角全角互转
    sql快速查记录数
    杀进程批处理
    线程基本用法
    sql游标用法示例
    BUGFREE的使用
    SQL常用函数
    ASP.NET 2.0 下的验证码控件
    经典sql语句
  • 原文地址:https://www.cnblogs.com/zhaogaojian/p/8524638.html
Copyright © 2020-2023  润新知