VB.NET 图形绘制与坐标变换实战指南
1. 图形绘制基础
在图形绘制中,我们常常需要确保图形在不同的显示器或打印机上都能正确显示。例如,绘制一个高一英寸、宽三英寸的矩形,无论设备的分辨率如何,都能呈现出正确的形状。
如果想了解当前显示器的像素密度,可以读取 Graphics 对象的 DpiX 和 DpiY 属性。这两个属性分别返回显示器在 x 和 y 方向上每英寸的像素数。若 Graphics 对象是打印机的页面,它们则会返回特定打印机每英寸的点数。这些属性由设备的能力决定,并且是只读的。
PageUnit 属性会影响在控件上绘制的所有实体,甚至包括画笔的宽度。宽度为 1 的画笔会绘制出一英寸宽的线条。若要以像素为单位指定画笔宽度,可以使用 DpiX 属性的倒数,即一个像素。例如,要指定一个 2 像素宽的画笔,可以使用以下语句:
Dim myPen = New Pen(Color.Black, 2 * (1 / Graphics.DpiX))
2. 坐标系统
使用与物理长度单位(如英寸、点和毫米)相对应的坐标非常直观。不过,最有趣且灵活的坐标系统是自定义坐标系统,它能根据应用程序的需求进行定制,范围可以从毫米的分数到英里甚至光年。自定义坐标系统不一定对应长度单位。
例如,当绘制每小时访问网站的用户数量时,需要一个坐标系统,其中 x 轴表示一天中的
超级会员免费看
订阅专栏 解锁全文

381

被折叠的 条评论
为什么被折叠?



