Уменьшить разрешение DPI UIImage

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

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

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

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


person Fabio B.    schedule 06.05.2011    source источник


Ответы (2)


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

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

person izb    schedule 06.05.2011

NSData = UIImageJPEGRepresentation(rightPhoto, 0.5);

затем инициализируйте данные обратно.

код детали

NSData *imageData = UIImageJPEGRepresentation(originalImage, 0.5);

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

originalImage = [tImage copy];

[tImage release];
person chings228    schedule 27.03.2012