2014-11-17 4 views
0

Мне нужно отправить на сервер png изображения с разрешением 300DPI и ровно 1275x1875pixels. Поскольку по умолчанию UIKit создаст изображение с 72DPI, мне нужно установить масштабный коэффициент до 300/72 в функции UIKit UIGraphicsBeginImageContextWithOptions, чтобы иметь возможность получить изображение 300DPI, и после этого я использую функцию UIImagePNGRepresentation, чтобы получить NSData изображения и записать его в файл. Пока я могу получить желаемый размер изображения и DPI (проверили в фотошопе), но он становится почти 5 МБ. Есть ли способ уменьшить размер изображения PNG в iOS?Сжатие PNG-изображения программно в iOS

Заранее благодарен!

ответ

1

Если вам нужно сжатие, почему бы не отправить эти изображения в формате JPEG?

NSData * UIImageJPEGRepresentation (UIImage *image, CGFloat compressionQuality); 

Установить компрессию Quality на 0f для максимального сжатия, 1f для самого низкого. Преобразуйте обратно в PNG, когда вам нужен PNG.

+0

Это не решение, потому что эта функция делает мое изображение 72DPI, но мне нужно, чтобы оно было 300DPI. – Ruben

+0

Итак, конвертируйте jpg в файл PNG размером 300 точек на бэкэнд. «DPI» не дает тонны смысла в контексте, который вы здесь представляете. – stromdotcom

+0

Бэкэнд не мой, и он требует 300DPI, поэтому я должен сделать это на устройстве – Ruben

Смежные вопросы