降低UIImage的DPI分辨率

时间:2011-05-06 14:41:44

标签: ios uiimage resolution dpi

我正在使用mfmailcomposeviewcontroller发送图片:

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

我在电子邮件中看到的图片是160 DPI分辨率。

如何在不降低质量的情况下将其降低到72 DPI,降低kb尺寸?

2 个答案:

答案 0 :(得分:5)

NSData = UIImageJPEGRepresentation(rightPhoto, 0.5);

然后initwithdata回来。

详细代码

NSData *imageData = UIImageJPEGRepresentation(originalImage, 0.5);

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

originalImage = [tImage copy];

[tImage release];

答案 1 :(得分:1)

如果不以某种方式影响质量,您无法真正减少kb尺寸。另外,将DPI作为衡量图像分辨率的指标是误导性的;你最好看看减小像素大小。 10x10英寸的160dpi图像在像素方面与22.2x22.2英寸的72dpi图像相同,因此一个将调整大小而另一个不会,尽管两个图像在计算机显示器上看起来完全相同,并且两个图像需要相同的字节数。

答案的重要部分是,您将不得不通过像素大小或JPEG压缩质量来降低质量。