Ios 降低图像的DPI分辨率

Ios 降低图像的DPI分辨率,ios,uiimage,resolution,dpi,Ios,Uiimage,Resolution,Dpi,我正在使用mfmailcomposeviewcontroller通过电子邮件发送图像: [mailComposer addAttachmentData:UIImageJPEGRepresentation(self.editedImageView.image, 1.0f) mimeType:@"image/jpeg" fileName:@"yourPhotoWithBestGlasses.

我正在使用mfmailcomposeviewcontroller通过电子邮件发送图像:

[mailComposer addAttachmentData:UIImageJPEGRepresentation(self.editedImageView.image, 1.0f)
                           mimeType:@"image/jpeg" 
                           fileName:@"yourPhotoWithBestGlasses.jpg"];
我在电子邮件中看到的图片分辨率为160 DPI


我如何才能将其减少到72 DPI,以减少kb大小,而不损失质量?

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


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

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

NSData = UIImageJPEGRepresentation(rightPhoto, 0.5);
答案的重要部分是,你将不得不牺牲质量,无论是像素大小,还是JPEG压缩质量

NSData = UIImageJPEGRepresentation(rightPhoto, 0.5);
然后返回数据

详细代码

NSData *imageData = UIImageJPEGRepresentation(originalImage, 0.5);

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

originalImage = [tImage copy];

[tImage release];
然后返回数据

详细代码

NSData *imageData = UIImageJPEGRepresentation(originalImage, 0.5);

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

originalImage = [tImage copy];

[tImage release];