C#使用绘制的多边形

本文关键字:多边形 绘制 | 更新日期: 2023-09-27 18:21:42

我有两个关于多边形的问题。

  1. 我正在绘制多边形到picturebox。图片框有滑动条。如果我向上或向下移动滑块,那么当前不可见的多边形将被删除。我和C#合作才两个月,所以我还是个新手。如何解决这个问题?

  2. 可以点击多边形并用鼠标移动或更改其大小吗?

致以最诚挚的问候

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++)

C#使用绘制的多边形

如果直接在PictureBox上绘制,则在重新绘制控件时(例如,调整窗口大小时),绘制的多边形将丢失。一个更好的方法是在Bitmap上绘制并添加,然后将其显示在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;