Xcode NSData 图像大小更改

Xcode NSData Image Size Change

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

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

我不想增加图像大小!

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

UIImage *originalImage = [UIImage imageNamed:@"image.png"];
UIImage *scaledImage = [UIImage imageWithCGImage:[originalImage CGImage]  scale:1.0 orientation:(originalImage.imageOrientation)];