iphone 4s – UIImage 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);
感谢您的帮助。
UIImage
报告的size
是点,而不是像素。 你需要考虑到UIImage
的scale
属性。
换句话说,如果test.jpg是1000×1000,那么UIImage.size
会报告1000×1000。 如果test@2x.png
是test@2x.png
,那么UIImage.size
也会报告1000×1000。 但在UIImage.scale
情况下, UIImage.scale
会报告2。
CGImageGetWidth
以像素为单位报告其宽度,而不是点数。