Xcode NSData 图像大小更改

标签 xcode width nsdata uiimagejpegrepresentation

我想保存图像。因此我将其转换为 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/

相关文章:

objective-c - 在 Xcode 4 中是否有添加属性的快捷方式?

html - 在加载到 UIWebView 之前编辑 NSData

ios - 使用元数据(EXIF 数据)将 NSData 转换为 UIImage

ios - 如何让我的 bundle 显示名称在“设置”中和我的图标下显示不同? (X代码)

ios - 如何在 Xcode 项目中包含所有图像

html - 如何使用最小宽度、最大宽度和宽度 100%

html - 制作一个与页面一样宽的 <div>,同时在另一个 <div> 内

ios - NSCoding 和 NSData 是什么关系?

ios - 将程序化 uiscrollview 更改为 IB

html - 长 URL 的 CSS 溢出