写UIImage到PNG;将PNG读入UIImage;结果图像的分辨率是其两倍

时间:2015-03-02 17:54:04

标签: ios uiimage uiimagepngrepresentation

按照这些步骤我得到了意想不到的结果:

1)将UIImage写入PNG

2)将PNG读入UIImage

结果:UIImages(PNG之前和之后)的大小不同。通过从PNG读取创建的UIImage的分辨率是用于创建PNG的原始UIImage的两倍。

Swift伪代码如下:

var initialImage : UIImage;
// Obtain UIImage from UIImagePickerController, Images.xcassets, ...
// As an example, consider a UIImage with size = (420.0, 280.0).

println("Image size = \(initialImage.size)") // Indicates "Image size = (420.0, 280.0)"

// Write image to file
UIImagePNGRepresentation(myImage).writeToFile(imagePath, atomically: true)

// Retrieve image from file
let newImage = UIImage(contentsOfFile: imagePath)!
println("Image size = \(initialImage.size)") // Indicates "Image size = (840.0, 560.0)"!

一切都很好。显示新读取的图像效果很好。

我正在运行这个连接到iPhone 6.任何想法都将非常感激。

加里

1 个答案:

答案 0 :(得分:0)

它将其转换为视网膜显示器。每个点在屏幕上由2个像素表示,因此保存的图像是分辨率的两倍。这是一篇很好的参考文章:http://www.paintcodeapp.com/news/iphone-6-screens-demystified