ios - iPhone 4s-UIImage CGImage图像尺寸

标签 ios uiimage size cgimage

我的崩溃仅发生在4S(而不是3GS)上。我怀疑是因为@ 2x。基本上我得到图像的原始字节并进行操作。这是我的问题。

我按照下面的示例代码中所述加载图像。最后,uiWidth应该为2000,cgwidth应该为2000。对吗? (如果从相机胶卷加载图像,这仍然是正确的吗?或者它的自动缩放和uiWidth将为4000?)

//test.jpg is 2000x 1500 pixels.
NSString *fileName = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"jpg"];
UIImage *image = [UIImage imageWithContentsOfFile:fileName];

int uiWidth = image.size.width;

CGImageRef cgimg = image.CGImage;

int cgWidth = CGImageGetWidth(cgimg);

感谢您的帮助。

最佳答案

size报告的UIImage以磅为单位,而不是像素。您需要考虑scaleUIImage属性。

换句话说,如果test.jpg为1000x1000,则UIImage.size将报告1000x1000。如果test@2x.png是2000x2000,那么UIImage.size也会报告1000x1000。但是在第二种情况下,UIImage.scale将报告2。
CGImageGetWidth报告其宽度(以像素为单位),而不是点。

关于ios - iPhone 4s-UIImage CGImage图像尺寸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13131911/

相关文章:

ios - 3D Touch 应用内 "Quick Actions"

ios - 从 TimerCallback 实例调用时,调用 Dropbox API Client.Files.DownloadAsync 不会返回元数据

iphone - 在视网膜和非视网膜屏幕上使用图像作为文本

ios - 使用 CG/Quartz 像仪表一样填充 UIImage

ios - 如何将椭圆形图层绘制到 UITextField

iOS - Swift : fetching data from database in main thread, 不在后台

ios - UIImage 作为表示但没有文件扩展名

c - 为什么结构大小随结构中的枚举位域而变化(标准 C)

CSS - 仅调整背景图像的大小,而不是渐变

java - 如何在 Java 中维护相当长的类?