我设法从Picturebox中的鼠标位置获取真实的图像坐标。 thanks to those who helped.我接下来需要做的是将子图片框放在父图片框中,加载图片使用其真实尺寸。
我使用这些代码行将child(Picturebox2)放入父(Picturebox1):
public Form1()
{
InitializeComponent();
var pos = this.PointToScreen(Picturebox2.Location);
pos= Picturebox1.PointToClient(pos);
Picturebox2.Parent = Picturebox1;
}
使用这些代码在鼠标指针上移动父级内的子位置:
private void PictureBox1_MouseDown(object sender, MouseEventArgs me)
{
Image b = PictureBox1.Image;
int x = b.Width * me.X / PictureBox1.Width;
int y = b.Height * me.Y / PictureBox1.Height;
pictureBox2.Location = new Point(x,y);
}
问题在于它将子Picturebox放置错误的坐标,我猜它会以某种方式获取父Picturebox坐标而不是真实的图像坐标。