C# 如何在画框上画一个点?
我有一个名为Form2的表单,其中包含一个picturebox1 从一个单独的类文件中,我从管道接收信息,这些信息是:;charX,charY,map,mapX和mapY 如果您查看我附加的图片(右键单击并放大),您可以看到我的角色所在的地图上有一个迷你地图,它也将始终通过显示黄点来显示我的角色在迷你地图中的移动 现在,在我的Form2中有一个函数,如果我的角色输入了一个新的地图,它将从我的单独类文件中调用。此功能的作用是更新我的pictureBox1图片位置,以与游戏中正确的迷你地图相对应。它几乎是游戏中的外部迷你地图 问题是它只显示正确的迷你地图图像,没有角色移动 下面是我的一段代码 正如您所读到的,如果游戏中没有迷你地图,我的pictureBox中就没有迷你地图(来自我的服务器,404错误);因此,在显示我的错误图像时,它将表单大小设置回默认值(152110)。如果游戏中有一个迷你地图,一个函数会更新pictureBox中的图片(通过从我的服务器抓取图片),然后在上面的pictureBox1代码中,相应地设置表单大小(使其美观紧凑,没有额外的空间) 现在,我想要完成的是实时移动(我将使用管道提供的charX&Y信息) 我想在我的pictureBox上画一个小黄点(如图中所示),它将始终根据charX&Y绘制 我表单上的pictureBox始终设置为0,0的位置C# 如何在画框上画一个点?,c#,C#,我有一个名为Form2的表单,其中包含一个picturebox1 从一个单独的类文件中,我从管道接收信息,这些信息是:;charX,charY,map,mapX和mapY 如果您查看我附加的图片(右键单击并放大),您可以看到我的角色所在的地图上有一个迷你地图,它也将始终通过显示黄点来显示我的角色在迷你地图中的移动 现在,在我的Form2中有一个函数,如果我的角色输入了一个新的地图,它将从我的单独类文件中调用。此功能的作用是更新我的pictureBox1图片位置,以与游戏中正确的迷你地图相对应。它
我的问题是,;我如何在我的pictureBox上始终画一个点(使用charX&Y),但使用表单的位置(我猜)(例如:pictureBox位置为0,0) 我不太确定,但多亏了dotTutorials,他有一次告诉我要覆盖图形 这可能会令人困惑,但可能会奏效
point a = new point(x,y);
pen p = new pen(colour);
Graphics g = Graphics.FromHwnd(Process.GetCurrentProcess.MainWindowHandle);
g.drawline(p,a,a);
也可以在窗体上使用“绘制位图”(bmp图片)
int screen_width = 500;
int screen_height = 500;
// Your image..
var crosshair_bitmap = (Bitmap)Image.FromFile("C:\Example\CrosshairImage.png");
Graphics g = Graphics.FromHwnd(Process.GetCurrentProcesses.MainWindowHandle);
g.DrawImage(crosshair_bitmap, new Point(x, y);
所有的功劳都归功于dotutorials
对不起,我犯了错误
Poom您将处理PictureBox的Paint()事件,并使用该处理程序中提供的
e.Graphics
进行绘制。显然,你必须将坐标缩放并转换为图片盒的大小。@Idle_Mind,谢谢!我稍后会尝试。有什么问题吗?要画点还是在图片盒中找到点的位置?@valter,我目前正尝试这样做;然而,一个可能即将出现的问题可能是在图片盒中找到点的位置的能力。如果你不能做到这一点,我在这里帮助你不必这样做。只需Graphics g=this.CreateGraphics代码>或Graphics g=nameOfcontrol.CreateGraphics代码>