2016-06-29 67 views
0

我正在使用缩放的图片框。我想要检索图像左上角和右下角坐标。但是当图像的宽高比与图片框不匹配时,它与图片盒的不同。我想知道如何获得表单上的图像坐标。在缩放模式下获取图片框的“图像”坐标

+0

您可以使用pbox.ClientSize和pbox.Image.size来计算的话..左上角会总是(0,0).. form_上的_image坐标是什么意思? – TaW

+0

在缩放模式下,左上角是* not *(0,0)。只是以高而窄的图像推理出来。考虑使用反射来访问[ImageRectangle属性](http://referencesource.microsoft.com/#System.Windows.Forms/winforms/Managed/System/WinForms/PictureBox.cs,d19be1af32c23a82)。 –

回答

0

减去Image大小除以2再从PictureBox大小再加上Image大小。

这使用Size.Subtract Method (Size, Size)MSDN

Size sizestep1 = Size.Subtract(new Size(PictureBox1.Image.Size.Width/2, PictureBox1.Image.Size.Height/2), PictureBox1.Size); 
Size finalsize = Size.Add(sizestep1, PictureBox1.Image.Size); 

// Convert to point. 
Point BottomRightCoords = new Point(finalsize.Width, finalsize.Height); 

如果你想获得表单上的BottomRightCoords,您必须将PictureBox位置添加到它。