【问题标题】:Determining pixel coordinates across display resolutions跨显示分辨率确定像素坐标
【发布时间】:2014-08-08 15:10:18
【问题描述】:

如果程序在分辨率为 A 的显示器上显示 X、Y 处的像素,我是否可以准确地预测在分辨率为 B 时相同的像素将显示在什么坐标上?

更多信息

两种显示分辨率是:

A-->1366 x 768

B-->1600 x 900

除以每个方向的最大分辨率得到:

X 方向缩放因子 = 1600/1366 = 1.171303075

Y 方向缩放因子 = 900/768 = 1.171875

例如,显示器 A 上唯一的红色像素出现在像素 (1,1) 处。如果我只是使用这些因素放大,那么在显示器 B 上,红色像素将显示在像素 (1.171303075, 1.171875) 处。我不确定如何解释,因为我习惯于将像素视为整数值。如果我知道屏幕上像素坐标/位置的确切几何形状可能会有所帮助。例如,像素坐标 (1,1) 是否意味着像素的中心位于 (1,1)?或者像素的特定角位于(1,1)?我确信图表将有助于可视化这一点——如果有人可以发布有用资源的链接,我将不胜感激。最后,我可能正在接近这一切都是错误的。

提前致谢。

【问题讨论】:

    标签: image-processing resolution screen-resolution


    【解决方案1】:

    我认为,您的问题与scaling/resampling images 的领域有关。位图或光栅图像是数码照片,因此它们是表示细节丰富的自然图像的最常见形式。术语位图是指给定模式(像素中的位)如何映射到特定颜色。位图图像采用数组的形式,其中每个元素的值(称为像素图片元素)对应于图像该区域的颜色。

    抽样

    在测量像素值时,会采用像素位置周围区域的平均颜色。一个简单的模型是对一个正方形进行采样,更准确的测量是计算一个加权的高斯平均值。人眼在感知位图图像时应该将像素值混合在一起,从而再现其所代表的连续图像的错觉。

    光栅尺寸

    像素网格中水平和垂直样本的数量称为光栅维度,指定为width x height

    分辨率

    分辨率是采样密度的度量,位图图像的分辨率给出了像素尺寸和物理尺寸之间的关系。最常用的度量单位是ppi每英寸像素数

    缩放/重采样

    图像缩放是当我们需要创建与现有尺寸不同的图像时的过程名称。缩放的另一个名称是重采样。当重采样算法尝试重建原始连续图像并创建新的样本网格时。有两种缩放:updown

    缩小图像

    减少光栅尺寸的过程称为抽取,这可以通过平均对每个输出像素有贡献的源像素的值来完成。

    放大图片

    当我们增加图像大小时,我们实际上想要在原始栅格中的原始样本点之间创建样本点,这是通过对样本网格中的值进行插值来完成的,有效地猜测未知像素的值。这种插值可以通过最近邻插值、双线性插值、双三次插值等方式完成。但放大/缩小图像也必须在离散网格上表示。

    【讨论】:

    • 谢谢。其中大部分都很有用,看起来“光栅尺寸”和“放大图像”部分最相关。但听起来“放大图像”的插值部分处理的是数字化增加电子图像的大小。需要明确的是,我的问题涉及可以以不同分辨率运行的第 3 方 (Windows) 应用程序。该应用程序本身并不显示图像——它显示的是文字、形状和图案。在这种情况下,我还需要调查完成的插值类型吗?或者我可以以某种方式计算新的像素位置吗?
    • 您是否也喜欢缩放文字、形状等,还是只需要重新计算它们的位置?
    • 我不是做缩放的人。该应用程序在我的屏幕上以 2 个“光栅尺寸”显示,1366 x 768 和 1600 x 900。我想知道像素位置如何在两者之间移动。例如,如果显示 A 的 (X,Y) 处有一个红色像素,那么显示 B 的位置在哪里?
    • @cag8f 如果不了解特定应用程序的内部操作的详细信息,或者进行大量实验和调查,则无法得知。即使是同一算法的两种不同实现也会给你不同的结果。
    • 好的,答案取决于应用程序。这是我昨天考虑的事情。我知道对于网站,开发人员会决定以不同的屏幕宽度显示完全不同的元素。感谢您的信息。
    猜你喜欢
    • 2019-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多