C#处理绘制的多边形
我有两个关于多边形的问题C#处理绘制的多边形,c#,drawing,editing,polygons,C#,Drawing,Editing,Polygons,我有两个关于多边形的问题 我正在画多边形到picturebox。这个图片盒有滑杆。如果使用滑块向上或向下移动,则当前不可见的多边形将被删除。我和C#一起工作才两个月,所以我还是新手。如何解决这个问题 是否可以单击多边形并用鼠标移动或更改其大小 致意 for (int i = 0; i < final_rng.Count; i++) { listPoint.Clear(); for (int j = 0; j < final_rng[i].body.Count; j
for (int i = 0; i < final_rng.Count; i++)
{
listPoint.Clear();
for (int j = 0; j < final_rng[i].body.Count; j++)
{
listPoint.Add(new Point(final_rng[i].body[j].X, final_rng[i].body[j].Y));
}
//for (int j = 0; j < final_rng[i].body.Count; j++)
grafika.FillPolygon(Brushes.Turquoise, listPoint.ToArray()); }
//for (int i = 0; i < final_rng.Count; i++)
for(int i=0;i
如果直接在PictureBox
上绘制,则重新绘制控件时(例如,调整窗口大小时),绘制的多边形将丢失。更好的方法是绘制位图
,然后添加并在图片框中显示它。例如:
// A new bitmap with the same size as the PictureBox
var bitmap = new Bitmap(pictureBox1.Width, pictureBox1.Height);
//Get the graphics objectm which we can use to draw
var graphics = Graphics.FromImage(bitmap);
//Draw stuff
graphics.FillRectangle(Brushes.Red, new Rectangle(0, 0, 500, 500));
//Show the bitmap with graphics image in the PictureBox
pictureBox1.Image = bitmap;
这取决于您如何存储绘图原语,如果您只是将它们绘制到屏幕上,那么一旦它们超出边界,您就会丢失它们,因此我有以下代码for(int i=0;i
grafika.FillPolygon(brush.Turquoise,listPoint.ToArray());//for(int i=0;i