C#使用绘制的多边形
本文关键字:多边形 绘制 | 更新日期: 2023-09-27 18:21:42
我有两个关于多边形的问题。
-
我正在绘制多边形到picturebox。图片框有滑动条。如果我向上或向下移动滑块,那么当前不可见的多边形将被删除。我和C#合作才两个月,所以我还是个新手。如何解决这个问题?
-
可以点击多边形并用鼠标移动或更改其大小吗?
致以最诚挚的问候
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++)
如果直接在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;