Уменьшите разрешение DPI для UIImage - PullRequest
0 голосов
/ 06 мая 2011

Я отправляю изображение по электронной почте, используя mfmailcomposeviewcontroller:

[mailComposer addAttachmentData:UIImageJPEGRepresentation(self.editedImageView.image, 1.0f)
                           mimeType:@"image/jpeg" 
                           fileName:@"yourPhotoWithBestGlasses.jpg"];

Изображение, которое я вижу в своем электронном письме, имеет разрешение 160 DPI.

Как мне уменьшить его до 72 DPI, чтобы уменьшить размер кб, без потери качества?

Ответы [ 2 ]

5 голосов
/ 27 марта 2012
NSData = UIImageJPEGRepresentation(rightPhoto, 0.5);

затем initwithdata назад.

код детали

NSData *imageData = UIImageJPEGRepresentation(originalImage, 0.5);

UIImage *tImage = [[UIImage alloc] initWithData:imageData];

originalImage = [tImage copy];

[tImage release];
1 голос
/ 06 мая 2011

Вы не можете реально уменьшить размер килобайта без какого-либо ущерба для качества.Кроме того, вводить в заблуждение говорить о DPI как мере разрешения изображения;вам лучше взглянуть на уменьшение размера пикселя.Изображение с разрешением 160 точек на дюйм при 10x10 дюймах такое же с точки зрения пикселей, как и изображение с разрешением 72 точек на дюйм при 22,2x22,2 дюйма, поэтому одно из них будет изменено, а другое нет, несмотря на то, что оба изображения выглядят одинаково на мониторе компьютера, и оба изображениятребующее одинакового количества байтов.

Важная часть ответа заключается в том, что вам придется поставить под угрозу качество, либо по размеру пикселя, либо по качеству сжатия JPEG.

...