【问题标题】:Go to specific point in image on a picturebox转到图片框上图像中的特定点
【发布时间】:2016-04-01 03:10:45
【问题描述】:

这可能吗?

我想做一些事情,比如在图像中存储一个点的 X 和 Y 坐标,然后单击按钮跳转到该区域。

我的表单中有一个Panel,其中Auto Scroll 属性设置为true。面板内部是PictureBox,如果图像变大,面板上会出现滚动条。所以我目前拥有的是获取滚动条的位置,然后使用Panel1.AutoScrollPosition 移动到该位置工作正常,除非图像大小在放大或缩小时发生变化,然后我看错了位置。

那么是否可以在图像本身而不是图片框或表单中的任何控件上获得特定点?请注意,我当前正在播放的图像是 33722 x 4672。

【问题讨论】:

  • Hiya - 你的程序是用 c# 还是 vb.net 编写的 - 无论哪种方式,接受的提问方式都是只标记你正在使用的语言。我知道添加更多标签以获得更广泛的受众是很诱人的,但对于像我这样将标签标记为被忽略的人来说,这通常会导致受众范围更窄。例如我忽略了 c# 标签,所以通常我不会注意到这个问题。

标签: c# .net vb.net winforms picturebox


【解决方案1】:

我相信您正在寻找的是 Bitmap 类。
您可以使用函数 GetPixel() 来获取图像中某个位置的像素。

要将您的 PictureBox Image 放入 Bitmap 对象,请执行此操作。

Bitmap bitmap = new Bitmap(mypicturebox.Image);
bitmap.GetPixel(i, j);

【讨论】:

  • 我不这么认为。我刚读到那个函数,说它是用来获取像素颜色的。然后是另一个名为SetPixel() 的函数,它设置像素的颜色。我需要的是找到一种方法来处理大图像上的那个像素。
  • 因此您需要特定像素的索引。如果获取 PictureBox 和 Mouse 相对于窗体的位置,则可以通过取差值来找到鼠标悬停在哪个像素上。考虑到适当的缩放比例,这将起作用。如果您的图像比例是可缩放的,您需要跟踪它。
猜你喜欢
  • 1970-01-01
  • 2011-05-07
  • 1970-01-01
  • 2011-10-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-07
相关资源
最近更新 更多