博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DrawImage在绘制图片的时候,为什么会擅自改变图片的大小?
阅读量:4466 次
发布时间:2019-06-08

本文共 796 字,大约阅读时间需要 2 分钟。

我有一个PNG图片,大小是8X8像素,添加到项目的资源里面。然后在Paint事件中使用如下代码绘制到表单上:

Point pt = new Point(10,10); e.Graphics.DrawImage(Properties.Resources.top, pt.X, pt.Y, new Rectangle(0, 0, 8, 8), GraphicsUnit.Pixel);

画出来的效果,经过我用放大镜仔细判断,发现实际“画”在表单上的图片宽度变成了11个像素,莫名其妙多了三个像素的宽度出来,这究竟是为什么?

 

 

回复:

用这个图片还真会变大,但是我用画图工具打开再保存一下,然后就不会变大,和原来的一样了。

估计是用其他工具生成或者保存图片的时候图片的分辨率不同导致的。设置一下图片的分辨率就好了:

 

private void Form1_Paint(object sender, PaintEventArgs e)        {            Point pt = new Point(10, 10);            Bitmap bit = new Bitmap(Properties.Resources.save1);            bit.SetResolution(96.0F, 96.0F);            e.Graphics.DrawImage(bit, pt.X, pt.Y, new Rectangle(0, 0, 169,32), GraphicsUnit.Pixel);        }

参考资料:

或者先直接转换到Bitmap就好了。

 

原来还真是分辨率的问题,记录一下

 

文章来源:

转载于:https://www.cnblogs.com/meteortent/archive/2012/02/21/2360984.html

你可能感兴趣的文章
根据经纬度坐标获取位置信息(基于百度地图)
查看>>
make install fping
查看>>
排序算法总结
查看>>
easyui datagrid 三层嵌套
查看>>
MAC 下查看usb设备的命名
查看>>
as3.0 作库
查看>>
DATASNAP 自增长字段问题
查看>>
Mysql主要索引方式:FULLTEXT,HASH,BTREE,RTREE。
查看>>
POJ 1942
查看>>
android:ToolBar详解(手把手教程)
查看>>
代码保存好
查看>>
操作系统原理
查看>>
初拾Java(问题二:缺类异常,无法编译)
查看>>
C# 流总结(Stream)
查看>>
【综述】植物防御假说——Out of the quagmire of plant defense hypotheses
查看>>
C++——动态分配内存问题
查看>>
CSS3属性之圆角效果——border-radius属性
查看>>
API 数据缓存(本地缓存)
查看>>
r and r studio Settings
查看>>
Mysql 数据库安装
查看>>