2

我想保存一张图片。因此我将其转换为 NSData。然而,在这些步骤中,图像的宽度和高度会发生变化。它的尺寸增加了。这发生在 iPad Air 系列上,在宽度/高度保持不变之前。

NSLog(@"BEFORE %f %f",image1.size.width,image1.size.height); // Displays 200 133

// Convert to NSData
NSData *imagedata = UIImageJPEGRepresentation(image1,0.8f);

// Store etc.

// Convert it back
UIImage *image2=[UIImage imageWithData:imagedata];

NSLog(@"AFTER %f %f",image2.size.width,image2.size.height); // Displays 400 266

我不希望图像大小增加!

4

1 回答 1

3

正如文森特指出的那样,对于那些仍然想回答这个问题的人来说,图像有一个比例因子。使用以下代码修复它:

UIImage *originalImage = [UIImage imageNamed:@"image.png"];
UIImage *scaledImage = [UIImage imageWithCGImage:[originalImage CGImage]  scale:1.0 orientation:(originalImage.imageOrientation)];
于 2015-04-11T18:15:01.760 回答