c# 截图有关问题
c# 截图问题
现在picturebox1.image 要从这个里面截取一部分到picturebox2中 截取30*30的
private void pictureBox1_Click(object sender, EventArgs e)
{
Px = Cursor.Position.X;
Py = Cursor.Position.Y;
int x = Px - 15;
int y = Py - 15;
Graphics g = pictureBox2.CreateGraphics();
g.DrawImage(pictureBox1.Image, 0, 0, new Rectangle(x, y,30,30), GraphicsUnit.Pixel);
}
这样写为什么不行??
------解决思路----------------------
你获得的坐标是鼠标相对于屏幕的坐标,而不是相对于pictureBox1的坐标,通过下面的函数转换一下,就可以了
Point p = this.pictureBox1.PointToClient(Control.MousePosition);
int Px = p.X;
int Py = p.Y;
Graphics g = pictureBox2.CreateGraphics();
g.DrawImage(pictureBox1.Image, 0, 0, new Rectangle(Px, Py, 30, 30), GraphicsUnit.Pixel);
现在picturebox1.image 要从这个里面截取一部分到picturebox2中 截取30*30的
private void pictureBox1_Click(object sender, EventArgs e)
{
Px = Cursor.Position.X;
Py = Cursor.Position.Y;
int x = Px - 15;
int y = Py - 15;
Graphics g = pictureBox2.CreateGraphics();
g.DrawImage(pictureBox1.Image, 0, 0, new Rectangle(x, y,30,30), GraphicsUnit.Pixel);
}
这样写为什么不行??
------解决思路----------------------
你获得的坐标是鼠标相对于屏幕的坐标,而不是相对于pictureBox1的坐标,通过下面的函数转换一下,就可以了
Point p = this.pictureBox1.PointToClient(Control.MousePosition);
int Px = p.X;
int Py = p.Y;
Graphics g = pictureBox2.CreateGraphics();
g.DrawImage(pictureBox1.Image, 0, 0, new Rectangle(Px, Py, 30, 30), GraphicsUnit.Pixel);