Graphics.DrawImage绘制的图像变大的原因分析及解决
程序员文章站
2022-03-03 08:26:05
目录graphics.drawimage绘制的图像变大原因分析解决方案c#graphics.drawimage的一些问题graphics.drawimage绘制的图像变大原因分析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#在计算图像大小的时候存在错误。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。
推荐阅读
-
JQuery EasyUI 加载两次url的原因分析及解决方案_jquery
-
Android中EditText+Button组合导致输入板无法收起的原因分析及解决办法
-
MySQL 出现错误1418 的原因分析及解决方法
-
php resizeimage 部分jpg文件 生成缩略图失败的原因分析及解决办法
-
MySQL 出现错误1418 的原因分析及解决方法
-
Android实现类似IOS右滑返回的效果(原因分析及解决办法)
-
Android实现类似IOS右滑返回的效果(原因分析及解决办法)
-
pptv有声音没画面图像的原因及解决方法汇总
-
关于JVM内存溢出的原因分析及解决方案探讨
-
jsp response.sendRedirect不跳转的原因分析及解决