在xcode中使用像素而不是点?

Posted

技术标签:

【中文标题】在xcode中使用像素而不是点?【英文标题】:Use pixels not points in xcode? 【发布时间】:2014-01-02 00:58:18 【问题描述】:

在 xcode 中,当使用 xibs 或 storyboards 时,xcode 会自动使用点(非视网膜显示器上的一个像素,视网膜显示器上的四个像素)。四年前,当我们不得不为视网膜和非视网膜显示器进行开发时,这很方便,但苹果多年来没有销售过没有视网膜显示器的手机。我什至不再为非@2x 版本而烦恼。有没有办法覆盖点并使用像素?当我想将图像移动/拉伸一个像素而不是两个像素时,这也令人沮丧。

【问题讨论】:

这是一个很好的问题,但我担心到目前为止答案是否定的。由于 Interface Builder,我们在摆脱非 @2x 图像时遇到了一些麻烦。确保在bugreport.apple.com 上打开增强功能。 另外,请记住,Apple 仍在销售 iPad 2 和 iPad Mini(原装),因此一些用户仍在购买没有 Retina 显示屏的设备。还有,谁知道未来会发生什么变化。也许有一天会有一个 1.5 倍密度而不是 2 倍密度的模型?谁知道? @user1118321 很公平,但我仍然希望能够在点和像素之间切换。有一次我想要一条一像素的线来分隔一些元素,最后不得不为此制作一张特殊的图像,因为我无法将视网膜图像移动一个像素。真的很烦。 ios中的坐标系使用float,而不是int,可以用+0.5表示增加1个像素 【参考方案1】:

您可以将UIView 的边界更改为其框架的宽度和高度的两倍,但我强烈建议您不要这样做,这会使您的代码混乱。我认为您不应该假设每点的像素数,Apple 专门设计 iOS 以与像素无关,您不应该尝试传递它。

【讨论】:

那会很奇怪......我只是想找到一种在点和像素之间切换的方法,就像在 illustrator 或 photoshop 中一样。 @AttilaTheFun,许多计算机屏幕每英寸有 72 个像素,这与每个像素恰好匹配一个点,直到最近大多数计算机显示器都大致保持在这个水平。最近的 iOS 设备每英寸有超过 250 个像素。有了这个,点和像素之间的转换就不再有意义了。

以上是关于在xcode中使用像素而不是点?的主要内容,如果未能解决你的问题,请参考以下文章

imagettftext 中的像素字体大小而不是磅值

如何在 Xcode 的 Storyboard 中保持高分辨率图像而不使其像素化?

用于处理点而不是像素的CCDirector/CCNode类别

我想了解位图、像素等相关基础知识

FFmpeg基础: YUV像素格式介绍和使用

Matlab中如何实现通过鼠标在图上点击一下,而获得所点击点在该图的像素矩阵中的位置。