CGImageGetWidth(workingImage.CGImage)
和有什么区别workingImage.size.width
吗?第一个更快或更安全?我知道在第二种情况下,我直接获得了价值。
问问题
6151 次
2 回答
6
实际上它们都返回相同的结果。CGImageGetWidth(Image.CGImage)
返回位图图像宽度,Image.size.width
返回 UIImage 宽度。如果你问安全/快速,我认为第一个会更快,因为它来自ApplicationServices框架,第二个来自UIKit框架。希望这可以帮助你..
于 2012-10-18T12:30:26.750 回答
5
假设image
a UIImage *
,CGImageGetWidth(image.CGImage)
返回以像素为单位的宽度,而image.size.width
以屏幕坐标返回宽度,即像素宽度除以image.scale
,这通常是当前显示器的比例因子(大多数 Retina 设备上为 2,iPhone 6 Plus 上为 3),尽管它可能是任意值,具体取决于图像的创建方式。
在性能方面,我希望它们都是相同的,因为它们都涉及一个objc_msgSend()
:image.size
是获取大小image.CGImage
的方法调用,是获取CGImageRef
. 这些是存储属性,因此在任何情况下获取它们的成本都不高。
于 2016-02-15T12:43:23.537 回答