Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在C中如何在窗体内的图像上绘制文本#_C#_.net_Image_Graphics_Drawing - Fatal编程技术网

C# 在C中如何在窗体内的图像上绘制文本#

C# 在C中如何在窗体内的图像上绘制文本#,c#,.net,image,graphics,drawing,C#,.net,Image,Graphics,Drawing,我想使用drawstring方法在C#中的图像中绘制一个文本。但是如何获得单击位置的坐标,以及如何将其与图像的尺寸关联起来。 请帮忙。如果我这样做,我会按照这家伙的教程 在他的函数中,使用查询字符串中的坐标生成一个ajax帖子。然后你可以对他们做任何你需要做的事情。不过,对于这类事情,最好使用客户端脚本。工作示例: private Bitmap _bmp = new Bitmap(250, 250); public Form1() { InitializeComponent();

我想使用drawstring方法在C#中的图像中绘制一个文本。但是如何获得单击位置的坐标,以及如何将其与图像的尺寸关联起来。
请帮忙。

如果我这样做,我会按照这家伙的教程

在他的函数中,使用查询字符串中的坐标生成一个ajax帖子。然后你可以对他们做任何你需要做的事情。不过,对于这类事情,最好使用客户端脚本。

工作示例:

private Bitmap _bmp = new Bitmap(250, 250);

public Form1()
{
  InitializeComponent();   

  panel1.MouseDown += new MouseEventHandler(panel1_MouseDown);
  panel1.Paint += new PaintEventHandler(panel1_Paint);

  using (Graphics g = Graphics.FromImage(_bmp))
    g.Clear(SystemColors.Window);
}

private void panel1_Paint(object sender, PaintEventArgs e)
{
  e.Graphics.DrawImage(_bmp, new Point(0, 0));

}

private void panel1_MouseDown(object sender, MouseEventArgs e)
{
  using (Graphics g = Graphics.FromImage(_bmp))
  {
    g.DrawString("Mouse Clicked Here!", panel1.Font, Brushes.Black, e.Location);
  }
  panel1.Invalidate();
}
您可能希望使用TextRenderer而不是DrawString。拉绳有问题

TextRenderer.DrawText(g, "Mouse Clicked Here!", panel1.Font, e.Location, Color.Black);

谢谢,但我说的是C#not JScript,它仍然不起作用。我创建了一个表单,放置了一个名为panel1的面板,并将您提供的代码放置在所需的事件中。@rainbower确保事件已连接。你可以通过设计器来实现,但是我手动更新了代码[