我对绘制形状、图形、位图等很陌生。我在谷歌上搜索了几天,但仍然不知道该怎么做,所以请帮助我:
我想画一个平面图,上面有一些物体(用圆圈表示)在移动。
当我单击一个对象时,它需要显示一些东西。
到目前为止,我已经能够在一个图形上画一些圆,并且能够通过每次清除图形来移动点。当然,这不是一个真正的解决方案,因为我无法跟踪平面图上的不同对象(我的ClickEvent和Movings需要这些对象)。
希望我能在这里解释一下我的问题。
这是每秒调用的(剥离版本)源代码:
(dev(属于device类型)是我要绘制的对象)
Graphics gfx = FloorplanTabPage.CreateGraphics();
gfx.Clear(Color.White);
foreach (Device dev in _deviceList)
{
Pen myPen = new Pen(Color.Black) { Width = 10 };
if(dev.InRoom != null)
{
myPen.Color = Color.DarkOrchid;
int x = dev.InRoom.XPos + (dev.InRoom.Width / 2) - 5;
int y = (dev.InRoom.YPos + (dev.InRoom.Height / 2) - 5;
if (dev.ToRoom != null)
{
x = (x + (dev.ToRoom.XPos + (dev.ToRoom.Width / 2)) / 2;
y = (y + (dev.ToRoom.YPos + (dev.ToRoom.Height / 2)) / 2;
}
gfx.DrawEllipse(myPen, x, y, 10, 10);
gfx.DrawString(dev.Name, new Font("Arial", 10), Brushes.Purple, x, y - 15);
}
}