PageScale:  获取或设置此 Graphics 的世界单位和页单位之间的比例。
PageUnit:  获取或设置用于此 Graphics 中的页坐标的度量单位。

话不多说,上代码:

        private void Form1_Paint(object sender, PaintEventArgs e)
{
Graphics dc = e.Graphics;
dc.PageUnit = GraphicsUnit.Pixel; // 页面坐标
dc.PageScale = 0.5f; // 世界坐标和页面坐标比例系数 Pen p = new Pen(Color.Red); int startX = ;
int startY = ;
Point startPoint = new Point(startX, startY); for (int i = ; i < ; ++i)
{
dc.DrawLine(p, startPoint, new Point(startX + i, startY));
}
}

再上图:

PageScale = 0.5             PageScale = 1                                     PageScale = 2

由上可见,PageUnit = GraphicsUnit.Pixel,即显示的时候以像素为单位,程序画了 100 个坐标位置

PageScale = 1, 一个坐标位置对应一个像素,所以线的长度显示为100个像素

PageScale = 0.5,一个坐标对应0.5个像素,所以线的长度显示为50个像素

PageScale = 2,一个坐标对应2个像素,所以线的长度显示为200个像素(超出窗口大小了:D),上图可见线的宽度也变为2个像素了

综上:    页面坐标 = 世界坐标 * PageScale!!!   我理解的世界坐标即逻辑坐标,页面坐标即物理坐标或叫做设备坐标!

最新文章

  1. ios中的http:get,post,同步,异步
  2. sql复制表
  3. Log4Net 全方位跟踪程序运行
  4. c#基础学习汇总----------base和this,new和virtual
  5. 引用类型传递 ListView展示数据
  6. spark - 从HDFS加载文件并分析
  7. 无法将类型“ASP.login_aspx”转换为“System.Web.UI.WebControls.Login”
  8. perl use utf8
  9. Discuz 楼主帖子采集
  10. heritrix1.14.4配置-没有add和change按钮的问题
  11. HDFS:NameNode、DataNode、SecondaryNameNode
  12. 修改MAC地址的方法 破解MAC地址绑定(抄)
  13. 使用IDEA时跳转到.class的解决办法
  14. Python GUI之tkinter窗口视窗教程大集合(看这篇就够了)
  15. 多线程系列之九:Worker Thread模式
  16. phpexcel一个bug
  17. 【BZOJ】【3489】A simple rmq problem
  18. Fork me on GitHub
  19. 依赖项从GIT上拉下来出现黄色三角形解决方法
  20. 《精通CSS》读书笔记(一)

热门文章

  1. 网络服务器带宽Mbps、Mb/s、MB/s的区别
  2. Swift app中的Crash捕获与处理
  3. 加载rocksdb实例报错:java.lang.UnsatisfiedLinkError: C:\Users\Administrator\AppData\Local\Temp\librocksdbjni3696928169151614297.dll
  4. MinGW安装与环境变量配置和Sublime Text 2搭建C++编译环境
  5. 【转】Jmeter内存溢出处理方式记录
  6. 第八章 JVM内存管理
  7. List和Map常用的几种遍历方式
  8. verilog HDL 编码风格
  9. js处理数值和日期本地化
  10. MySQL简述