我有一些图像生成代码,它使用UIGraphicsBeginImageContext(),UIGraphicsGetImageFromCurrentImageContext()和UIImagePNGRepresentation()进行绘图,然后将其作为PNG保存到磁盘中供以后使用。
UIImagePNGRepresentation()是否考虑了规模?如果我有一个20点宽的图像,结果PNG会是20像素还是40像素?
另外,当我显示这些图像时,我使用[UIImage imageWithContentsOfFile:]和[image drawInRect:]。有没有办法提示这些方法使用更高分辨率的绘图?
答案 0 :(得分:6)
根据iPhone Application Programming Guide,您应使用UIGraphicsBeginImageContextWithOptions
,其比例为2.0,以便为iPhone 4创建正确缩放的上下文。
至于你问题的第二部分,我相信你应该在基本名称上保存带有@ 2x后缀的结果png(例如,myImage @ 2x.png)。然后当您使用UIImage将其加载回来时,将正确设置其大小和比例。否则,您的图像将以1.0的比例加载,并且是您预期的两倍(以磅为单位)。同一文档的This section详细介绍了高分辨率显示设备的高分辨率图像。