我有一些图像生成代码,它们使用 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/