Tom*_*ulc 3 image-processing objective-c quartz-graphics uiimage ios
有什么区别CGImageGetWidth(workingImage.CGImage)
和workingImage.size.width
?第一个更快还是更安全?我知道在第二种情况下,我直接获得了值.
实际上它们都返回相同的结果.CGImageGetWidth(Image.CGImage)
返回Bitmap图像宽度,Image.size.width
返回UIImage宽度.如果你问安全/快速,我认为第一个会更快,因为它来自ApplicationServices框架,第二个来自UIKit框架.希望这可以帮助你..
假设image
是UIImage *
,CGImageGetWidth(image.CGImage)
返回以像素为单位的宽度,而image.size.width
返回以屏幕坐标表示的宽度,即像素宽度除以image.scale
,这通常是当前显示的比例因子(大多数 Retina 设备上为 2,iPhone 6 Plus 上为 3),尽管它可以是任意值,具体取决于图像的创建方式。
在性能方面,我希望它们都〜相同,因为它们都涉及一个objc_msgSend()
:image.size
是获取大小image.CGImage
的方法调用,以及获取CGImageRef
. 这些是存储的属性,因此在任何情况下获取它们都不昂贵。