iphone - UIImagePNGRepresentation() 和比例(iPhone 4 屏幕)

标签 iphone cocoa-touch uikit ios4 iphone-4

我有一些图像生成代码,它们使用 UIGraphicsBeginImageContext()、UIGraphicsGetImageFromCurrentImageContext() 和 UIImagePNGRepresentation() 来进行一些绘图,然后将其作为 PNG 保存到磁盘以供以后使用。

UIImagePNGRepresentation() 是否考虑比例?例如,如果我有一个 20 点宽的图像,生成的 PNG 是 20 像素还是 40 像素?

此外,当我显示这些图像时,我使用 [UIImage imageWithContentsOfFile:] 和 [image drawInRect:]。有没有办法提示这些方法使用更高分辨率的绘图?

最佳答案

根据 iPhone Application Programming Guide您应该使用比例为 2.0 的 UIGraphicsBeginImageContextWithOptions 来为 iPhone 4 创建正确缩放的上下文。

对于问题的第二部分,我认为您应该在基本名称上使用 @2x 后缀(例如 myImage@2x.png)保存生成的 png。然后,当您使用 UIImage 重新加载它时,它的大小和比例将被正确设置。否则,您的图像将以 1.0 比例加载,并且大小(以磅为单位)是您预期的两倍。 This section同一文档的内容详细介绍了有关具有高分辨率显示器的设备的高分辨率图像的信息。

关于iphone - UIImagePNGRepresentation() 和比例(iPhone 4 屏幕),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3143328/

相关文章:

ios - textFieldDidEndEditing 触发 "too late"

iPhone 强制文本框输入为大写

objective-c - 从 NSString 解析 NSDate 时出错

ios - QoS 用户交互和更新 UI

iphone - 带有粗边框的 ModalView 旋转(如 iBooks 应用程序)

iphone - 为分组的 UITableViewCell 自定义选定的背景颜色

iphone - 如何获得设置屏幕,像Facebook应用程序一样拖动?

iphone - 如何安排一个方法在延迟后运行

ios - 如何在用户关闭当前应用程序时打开另一个应用程序?

ios - 如何将搜索栏添加到导航栏