鼠标位置(Cursor.Position)
mouse position (Cursor.Position)
我有 10*10 倍的图像,并将图像加载到图片框我有问题 select 当我在图像上的任何地方单击左上角显示的点时,鼠标位置有问题错误是什么??
绘制 zoomed Image
的 PictureBox
这对我来说很好用:
float zoom = 7.5f;
public Form1()
{
InitializeComponent();
pb1.SizeMode = PictureBoxSizeMode.Zoom;
pb1.ClientSize = new Size((int) (pb1.Image.Size.Width * zoom),
(int) (pb1.Image.Size.Height * zoom) );
}
private void pb1_MouseClick(object sender, MouseEventArgs e)
{
int x = (int)Math.Round(e.X / zoom) ;
int y = (int)Math.Round(e.Y / zoom) ;
Bitmap bmp = (Bitmap) pb1.Image;
bmp.SetPixel(x, y, Color.Red);
pb1.Refresh();
}
注意:如果 PictureBox
位于 AutoScroll Panel
中,这同样有效。
我有 10*10 倍的图像,并将图像加载到图片框我有问题 select 当我在图像上的任何地方单击左上角显示的点时,鼠标位置有问题错误是什么??
绘制 zoomed Image
的 PictureBox
这对我来说很好用:
float zoom = 7.5f;
public Form1()
{
InitializeComponent();
pb1.SizeMode = PictureBoxSizeMode.Zoom;
pb1.ClientSize = new Size((int) (pb1.Image.Size.Width * zoom),
(int) (pb1.Image.Size.Height * zoom) );
}
private void pb1_MouseClick(object sender, MouseEventArgs e)
{
int x = (int)Math.Round(e.X / zoom) ;
int y = (int)Math.Round(e.Y / zoom) ;
Bitmap bmp = (Bitmap) pb1.Image;
bmp.SetPixel(x, y, Color.Red);
pb1.Refresh();
}
注意:如果 PictureBox
位于 AutoScroll Panel
中,这同样有效。