我正在一个需要绘图的项目中工作,我有一个问题。 如何以毫米为单位绘制东西。我有这段代码,但结果似乎不准确。我用一把尺子在屏幕上测量,它大约是38毫米。这是代码:
e.Graphics.PageUnit = GraphicsUnit.Millimeter;
e.Graphics.DrawLine(Pens.Red, 10, 10, 50, 10);
请给我一个指南,谢谢。
答案 0 :(得分:0)
为了能够以“真实世界”单位绘制某些内容,您需要了解以下几点:
一个简单的例子:
两台计算机在Windows中具有相同的分辨率和相同的DPI设置 但是,一台计算机连接了13英寸显示器,另一台计算机连接了27英寸显示器 这意味着较小显示器上的物理像素密度要高得多,即每毫米更多像素。
因此,一条10毫米长的线需要包含小显示屏上大约两倍的像素数。
答案 1 :(得分:0)
Daniel是对的,“最糟糕的情况”你必须获得桌面分辨率和屏幕(监视器)DPI并自己计算单位。
但是第一次我会尝试使用TransformPoints:http://msdn.microsoft.com/en-us/library/k42sdzey.aspx