我想保存图像。因此我将其转换为 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
我不想增加图像大小!
最佳答案
对于那些仍然想知道这个问题答案的人,正如文森特指出的那样,图像有一个比例因子。使用以下代码修复它:
UIImage *originalImage = [UIImage imageNamed:@"image.png"];
UIImage *scaledImage = [UIImage imageWithCGImage:[originalImage CGImage] scale:1.0 orientation:(originalImage.imageOrientation)];
关于Xcode NSData 图像大小更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29427998/