Должно ли UIImageJPEGRepresentation действовать одинаково на каждом устройстве iOS? - PullRequest
0 голосов
/ 20 сентября 2011

Я изменяю размер UIImage, используя библиотеку MGImageUtilities (используя метод imageScaledToFitSize). После изменения размера, если я распечатаю размер нового созданного UIImage, размер будет таким, как ожидалось.

После этой первой операции я отправляю сжатое изображение (UIImageJPEGRepresentation (scaledImage, 0.7)) в веб-службу с использованием библиотеки ASIHTTP.

С iPad изображение сохраняется на сервере с ожидаемым размером. Когда я запускаю тот же код на iPod (4gen), изображение сохраняется больше, чем его оригинальная версия ... У вас есть подсказка для меня?

Ответы [ 2 ]

1 голос
/ 20 сентября 2011

Я чувствую себя комфортно, делая следующее обобщение: работая на такой же точной версии iOS и используя такой же точный ввод UIImage, я бы ожидал васполучить точно такие же байты от UIImageJPEGRepresentation с тем же параметром качества. *

Когда вы говорите, что сохраненное изображение больше, вы имеете в виду размер файла, верно?Не фактические размеры изображения?Каков «ожидаемый размер» (почему вы этого ожидаете)? * NB. Все, что сказано, единственный контракт кодировщика JPEG заключается в том, что он выплевывает действительный JPEG в правильномразмеры от исходного изображения.Я не работаю в Apple.Внутренние части API, помимо того, что задокументировано, могут вести себя произвольным образом, особенно в разных версиях, и возможно , что в кодировщиках есть оптимизация для каждого устройства (и т. Д.), Например, использование разных ручных операций.встроенная сборка для некоторых платформ или выбор среды выполнения, которую делает кодировщик.

0 голосов
/ 27 сентября 2011

MGImageUtilities изменяет размеры UIImage с поворотом, он применяет DPI дисплея сетчатки к изображению. Вместо 72 пикселей / дюйм применяется 144p / i. Поэтому я искал в сети лучшую библиотеку, и я думаю, что нашел что-то действительно полезное: http://vocaro.com/trevor/blog/2009/10/12/resize-a-uiimage-the-right-way/

...