- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在构建一个基于 iOS 的核心文本应用程序(iOS 5、iPad),并且有一个 View ,我在其中执行一些排版计算(在 drawRect 中)。
我注意到,当我使用 CGContextConvertRectToDeviceSpace 时,我在视网膜设备上获得的结果是非视网膜设备的两倍。据我了解,在 drawRect 中应用了一个隐式转换,它应该隐藏任何视网膜/非视网膜设备差异,所以我很困惑为什么我应该看到任何差异。
更具体地说,我正在尝试计算给定 CTLine 在用户空间坐标中的用户坐标位置。我首先将 CTLineGetTypographicBounds 用于我的行,并在 CGContextConvertRectToDeviceSpace 中使用这些值来获取一个矩形...但是我返回的矩形在视网膜设备上的宽度和高度是非视网膜设备的两倍。有什么我想念的吗?
最佳答案
I've noticed that when I use CGContextConvertRectToDeviceSpace, the result I get on a retina device is double that of a non-retina device.
对我来说听起来很正常。 “设备空间”表示输出设备上的实际像素,在本例中为视网膜显示器。它通常比 CGContext
的用户空间坐标系大 2 倍。
通常很少需要与设备空间相互转换——只有在绝对肯定需要将绘图与真实像素对齐时才会这样做。
您试图通过使用 CGContextConvertRectToDeviceSpace
来完成什么?可能有替代方案。
关于ios - CGContextConvertRectToDeviceSpace 在视网膜设备上是否正常工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10495142/
IOS8 的 LaunchImage 大小是多少? 什么是 Retina HD5.5、Retina HD 4.7 和 Retina 4?尺寸? DPI 是多少?? 72 我猜? 苹果文档的链接会很棒,
我不太明白 window.devicePixelRatio 值是什么,以及它如何决定该设备需要什么尺寸的图像(2x、3x 等)。 例如,在 iMac 5K Retina(2015 年末)上,我预计像素
在创建网站/移动应用程序并适应视网膜/高分辨率屏幕(需要两倍大小的图像)时,为什么只包含更大的图像不是一个好主意,并将其大小缩小一半,这样您只有一张图像,在非视网膜图像上,它只会变得更小(图像中的细节
我正在使用以下代码在我的 iPhone 应用程序中设置背景。 [[self view] setBackgroundColor:[UIColor colorWithPatternImage:[UIIma
我有一个应用程序,其中设计师为我提供了两种格式的 Assets 或 png,非视网膜和视网膜,格式正确并用 @2 正确命名。视网膜图像工作正常,但非视网膜图像在它们后面显示出奇怪的白色背景。有人经历过
所以我知道这是一个棘手的问题。我遇到过 Sprite 和高对比度模式的问题,基本上可以用如下代码解决: .icon:before { content: url(icons.png); posi
我的渐变 div 上有一条奇怪的水平线。它只在 Safari 和视网膜显示器上显示,我不明白为什么。还有其他人遇到过这个问题吗? HTML: CSS: .img-gradient2 { po
我正在为视网膜显示器调整我的网页,我正在使用 IrfanView 来加倍我的图像。但是,通常 640 x 427 px 的图像现在变成了 1281 x 855 px。这会按预期工作吗?我也在使用 Re
我为同一个网站制作了两个不同的网页:一个用于手机设备,一个用于桌面设备。主要原因是因为该网页有很多按钮,如果您使用的是手机,则很难触摸这些按钮,因为它们在手机屏幕上看起来很小。所以我制作了一个 jav
我们知道使用@2x 和不使用它时视网膜上的图像是如何工作的。但是电影呢? 对于 Retina 显示器,我是否必须让一部电影的分辨率是另一部电影的两倍?命名约定 @2x 代表电影?只拥有更大的一个并使其
这个问题在这里已经有了答案: 关闭 11 年前。 Possible Duplicate: Detect Retina Display 我们如何通过 Objective-C 代码知道设备是否具有视网膜
我刚刚将 Xcode 从 4.2 升级到 4.3.3。然后我启动 iOS 模拟器(将“硬件 -> 设备”设置为“iPhone(视网膜)”),模拟器现在显得如此之大,以至于应用程序页面实际上需要滚动!
我尝试从视网膜显示屏获取屏幕截图,并在窗口上绘制此图像。 我可以捕获 CGDirectDisplayID displayId = CGMainDisplayID() CGImage imageRef
我有一张 PNG 图片,我应该在我的 iPhone 应用程序中使用它,但首先,我必须为其提供 iPhone 4 视网膜屏幕的尺寸。有谁知道它的尺寸是什么或者如何做到这一点? 最佳答案 iPhone 4
我想编写一个自定义绘图 View ,它应该利用 Retina 显示屏。我使用的是 2019 款 MacBook Pro。为了测试绘图,我只是绘制宽度为 1px 的平行线。但线条在整个 View 中显示
我已经将一些应用程序迁移到 iPhone5,但我无法解决这个问题。我遵循相同的步骤,但现在我没有 xib 布局来设置窗口的自动调整大小,因为 TabBarViewController 以编程方式定义为
我正在为 iPad 开发 iOS 应用程序,我使用的是普通图像而不是 @2x 图像,所以这可以在新 iPad 上使用吗?或者必须包含@2x 图像?如有任何帮助,请提前致谢。 最佳答案 您可以在视网膜屏
我正在更新我的应用程序以使用 iPad 视网膜显示屏,但出于某种原因,我的一个 View 不想缩放到 2 倍。正如您在屏幕截图中看到的那样,左侧按钮上的文本可以正确缩放,而右侧的文本仍然以低分辨率显示
CSS 在视网膜屏幕上将 1px 文本阴影加倍为 2px。我只需要 1px。任何解决方案? 0.5px 无效。 最佳答案 我没有尝试过文本阴影,也没有方便的视网膜屏幕,但是对于框阴影 MDN说对于传播
最近几天我阅读了很多关于这个主题的内容,但我没有找到解决方案。我有两个 sprite 集,一个是低质量的正常显示,另一个是高质量的视网膜显示。 我的问题是,我的网站必须响应,图形应根据浏览器窗口调整大
我是一名优秀的程序员,十分优秀!