在高缩放级别,Graphics.DrawLine无法正常工作

时间:2013-07-30 07:55:16

标签: c# graphics

我正在编写一个允许加载和显示几何体的程序。最近,我添加了缩放功能。在低缩放级别下一切正常,但当缩放级别增加(大约10,000)时,线条开始消失。在一些其他情况下,线的一端非常厚,另一端非常薄。我用来绘制线条的代码如下:

float edgeWidth = (float)(2/ scale);
Matrix tranf = new Matrix();
tranf.Scale((float)scale, (float)scale);
tranf.Translate(-offSet.X, -offSet.Y);
Graphics grp = displayArea.CreateGraphics();
grp.Transform = tranf;
grp.SmoothingMode = SmoothingMode.AntiAlias;
Pen pen = new Pen(Color.Red, edgeWidth);
grp.DrawLine(pen, (float)(tempShape.subPoly[i][j].X), (float)(tempShape.subPoly[i][j].Y),
                        (float)(tempShape.subPoly[i][(j + 1) % tempShape.subPoly[i].Count].X), (float)(tempShape.subPoly[i][(j + 1) % tempShape.subPoly[i].Count].Y))

0 个答案:

没有答案