【发布时间】:2016-10-22 01:14:36
【问题描述】:
我正在做 c# 项目。我发现了一个问题,无法找到这个问题的答案,这就是我在这里发帖的原因/ 我正在用 c# 实现程序平面图生成。首先我需要在给定的点上绘制一个多边形来生成网格。点数可以是正数或负数。点将处于浮动状态。
从 Microsoft 文档中,我能够为浮动的正点绘制多边形,但是当我将点更改为负时,它不会在表单上绘制任何内容。
这个方法id在角落绘制x,y坐标0,0。
代码示例 公共无效 DrawPolygonPointF(PaintEventArgs e) {
// Create pen.
Pen blackPen = new Pen(Color.Black, 3);
// Create points that define polygon.
PointF point1 = new PointF(50.0F, 50.0F);
PointF point2 = new PointF(100.0F, 25.0F);
PointF point3 = new PointF(200.0F, 5.0F);
PointF point4 = new PointF(250.0F, 50.0F);
PointF point5 = new PointF(300.0F, 100.0F);
PointF point6 = new PointF(350.0F, 200.0F);
PointF point7 = new PointF(250.0F, 250.0F);
PointF[] curvePoints =
{
point1,
point2,
point3,
point4,
point5,
point6,
point7
};
// Draw polygon curve to screen.
e.Graphics.DrawPolygon(blackPen, curvePoints);
}
我有负坐标值,例如 pointF(300,-250) 这种方法没有为负坐标值绘制任何内容。 所以请给我一个简单的解决方案,因为我对绘画不太了解。
谢谢
【问题讨论】:
-
我不确定我是否遵循:您的意思是您需要绘制一个图表,其中 0,0 位于窗口中间,而不是角落?您不能在绘制数字时添加偏移量以表示您在窗口中查看的区域,和/或缩放值吗?
-
我有正点和负点来绘制多边形。
-
我想你应该提供一些代码,描述它的结果以及你对它的期望。
-
“负点”是什么意思 - 一些 x,y 坐标带有负值?如果 0,0 是表单的角,您希望 Windows 在绘制这些点时将它们放在哪里? (或者您是否期望多边形的一侧被剪裁,而这不会发生?)
-
TranslateTransform 就是答案。不要操纵数据而是图形视口!
标签: c#