【问题标题】:Getting "image" coordinates of picturebox in zoom mode在缩放模式下获取图片框的“图像”坐标
【发布时间】:2016-10-31 18:26:47
【问题描述】:

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

【问题讨论】:

  • 可以使用pbox.ClientSize和pbox.Image.size来计算。。左上角永远是(0,0)。。表格上的图像坐标是什么 是什么意思??
  • 在缩放模式下左上角是 not (0, 0)。只需用一个又高又窄的图像来推理它。考虑使用反射来访问ImageRectangle property

标签: c#


【解决方案1】:

上面建议的一点数学 + 以下链接中的代码起到了作用: How to retrieve zoom factor of a WinForms PictureBox?

【讨论】:

    【解决方案2】:

    再减去Image 的大小除以PictureBoxsize 加上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 位置添加到其中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-31
      • 2012-09-20
      • 2015-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多