3
我正在使用來自UIImageView *圖像的圖像上傳到服務器。 我使用 NSData *imageToUpload = UIImageJPEGRepresentation(image.image, 90);
這樣的代碼,但我想壓縮圖像小於2MB。如何從UIImageView壓縮圖像?如何從UIImageView壓縮圖像?
我正在使用來自UIImageView *圖像的圖像上傳到服務器。 我使用 NSData *imageToUpload = UIImageJPEGRepresentation(image.image, 90);
這樣的代碼,但我想壓縮圖像小於2MB。如何從UIImageView壓縮圖像?如何從UIImageView壓縮圖像?
下面是一段代碼,因爲你需要
CGFloat compression = 222.0f;
CGFloat maxCompression = 202.1f;
int maxFileSize = 160*165; //fill your size need
NSData *imageDat = UIImageJPEGRepresentation(image.image, compression);
while ([imageDat length] > maxFileSize && compression > maxCompression)
{
compression -= 0.1222;
imageDat = UIImageJPEGRepresentation(decodedimage.image, compression);
}
NSLog(@"image compressed success");
[image setImage:[UIImage imageWithData:imageDat]];
希望這有助於!
我認爲你的意思可能是0.9而不是90.進一步降低這個值會降低質量和尺寸。 – Bushbert 2013-02-19 03:08:10
這個數字越小壓縮越多,你用'UIImageJPEGRepresentation();'正確的做了它,但是這個問題以前已經被問過很多次了。我很驚訝你的代表,你發佈了這個問題......無論DUPE問題http://stackoverflow.com/a/613380/525576 – 2013-02-19 03:09:53