objective-c - 在视网膜显示器上用 Cocoa 进行像素完美的绘图——只做 floor() 将不再有效

标签 objective-c cocoa

从历史上看,在任何计算之后,只需简单地执行一个 floor(),以确保所有坐标、高度和宽度与像素边界正确对齐。

但是,这显然在视网膜显示器上不再有效,因为 0.5 点现在完全有效。

编码人员现在应该如何编码像素完美的东西,使他们的代码正确支持标准和视网膜显示器?

最佳答案

Convert the rect to backing-aligned coordinates .您可能会在 View 中执行此操作,但是 windows can do itscreens can do it

您可能还需要转换回来,因为 the release notes建议后备坐标空间以像素为单位,因此这些空间在 Retina 显示器上显然是两倍大。如果我有一个,我会测试它。如果在 View 空间中使用后备坐标时所有东西看起来都大两倍,这意味着您确实需要将它们转换回 View 坐标。

关于objective-c - 在视网膜显示器上用 Cocoa 进行像素完美的绘图——只做 floor() 将不再有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12235583/

相关文章:

objective-c - AFNetworking https 请求无效

objective-c - 在类别中添加初始值设定项

iphone - iOS - 在数组中查找复杂对象

objective-c - NSView 子类 - drawRect : not called

objective-c - 每个 NSUserNotification 的自定义图标?

ios - 在 TabBarController 和 ViewController 之间切换的最佳方法

iphone - 在 NSData 中的 View 中显示呈现的提要

ios - Objective C 逻辑 OR 运算符不在 block 中求值

objective-c - 使用 NSButton 打开 web URL - Mac OS

cocoa - 如何制作 NSImages 网格?