Graphics.DrawImage绘制的图像变大的原因分析及解决

 更新时间:2021年11月15日 09:36:11   作者:yimi_tianjin  
这篇文章主要介绍了Graphics.DrawImage绘制的图像变大的原因分析及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

Graphics.DrawImage绘制的图像变大

原因分析

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) ;//绘制时加上原图的宽度和高度

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

C#Graphics.DrawImage的一些问题

今天需要把一些小图(如125*100)放到大图(1024*768)中,然后用到了Graphics.DrawImage这个函数,开始使用的是DrawImage(Image image, Point point)。

查看结果的时候发现极少数的小图插入以后变大了,调试以后发现是C#函数的问题。

改用DrawImage(Image image, Rectangle rect)问题就解决了,可能是C#在计算图像大小的时候存在错误。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • C#中如何将MongoDB->RunCommand结果映射到业务类的方法总结

    C#中如何将MongoDB->RunCommand结果映射到业务类的方法总结

    这篇文章主要给大家总结介绍了关于C#中如何将MongoDB->RunCommand结果映射到业务类的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2018-04-04
  • C#调用和实现WebService,纯手工打造!

    C#调用和实现WebService,纯手工打造!

    C#调用和实现WebService,纯手工打造! 需要的朋友可以参考一下
    2013-02-02
  • WPF中使用CallerMemberName简化InotifyPropertyChanged的实现

    WPF中使用CallerMemberName简化InotifyPropertyChanged的实现

    这篇文章介绍了WPF中使用CallerMemberName简化InotifyPropertyChanged的实现,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • C#中实现深度优先搜索

    C#中实现深度优先搜索

    深度优先搜索(DFS)是一种遍历或搜索图或树的算法,广泛应用于迷宫寻路、图像处理、路径规划、模式识别、社交网络分析等领域,学习DFS有助于理解图结构,解决回溯问题,提升算法设计与分析能力,下面就来介绍一下
    2024-10-10
  • C#读取文件所有行到数组的方法

    C#读取文件所有行到数组的方法

    这篇文章主要介绍了C#读取文件所有行到数组的方法,涉及C#针对文件及数组的相关操作技巧,需要的朋友可以参考下
    2015-07-07
  • C#使用集合实现二叉查找树

    C#使用集合实现二叉查找树

    这篇文章介绍了C#使用集合实现二叉查找树的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-08-08
  • C#匿名委托和Java匿名局部内部类使用方法示例

    C#匿名委托和Java匿名局部内部类使用方法示例

    Java在嵌套类型这里提供的特性比较多,假设:Java的字节码只支持静态嵌套类,内部类、局部内部类和匿名局部内部类都是编译器提供的语法糖,这个假设目前没法验证(看不懂字节码),本文先来看一下C#是如何为我们提供的这种语法糖
    2013-11-11
  • 深入解析C#编程中struct所定义的结构

    深入解析C#编程中struct所定义的结构

    这篇文章主要介绍了C#编程中struct所定义的结构,与C++一样,C#语言同时拥有类和结构,需要的朋友可以参考下
    2016-01-01
  • c#自定义泛型类的实现

    c#自定义泛型类的实现

    本篇文章是对c#中自定义泛型类的实现方法进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • c# 通过WinAPI播放PCM声音

    c# 通过WinAPI播放PCM声音

    这篇文章主要介绍了c# 通过WinAPI播放PCM声音的方法,帮助大家更好的理解和使用c#编程语言,感兴趣的朋友可以了解下
    2020-12-12

最新评论