Напишите UIImage в PNG; читать PNG в UIImage; Полученное изображение имеет вдвое большее разрешение

После этих шагов я получаю неожиданный результат:

1) Написать UIImage в PNG

2) Читать PNG в UIImage

Результат: размеры UIImages (до и после PNG) разные. UIImage, созданный чтением из PNG, имеет в два раза больше разрешения, чем исходный UIImage, использованный для создания PNG.

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 ответ

Он конвертирует его для отображения на сетчатке. Каждая точка представлена ​​на экране 2 пикселями, поэтому сохраненное изображение имеет двойное разрешение. Это хорошая статья для ссылки: http://www.paintcodeapp.com/news/iphone-6-screens-demystified

Другие вопросы по тегам