初识CGImageRef是在一张大图片中裁剪出其中的小图片用到的,具体如下:
UIImage
*bigImage = [UIImageimageNamed:@"big”];
CGFloat smallW
= bigImage.size.width / 12
* [UIScreen mainScreen].scale;CGFloat smallH
= bigImage.size.height *
[UIScreen mainScreen].scale;
CGImageRef
smallImage = CGImageCreateWithImageInRect(bigImage.CGImage,
smallRect);
UIButton
*btn = [[UIButton alloc] init];
[btn
setImage:[UIImageimageWithCGImage:smallImage]
forState:UIControlStateNormal];
[UIScreen mainScreen].scale
-> scale是屏幕的伸缩属性,决定屏幕是否是retina屏幕
因为CGImageCreateWithImageInRect这个方法只认像素,所以传入的Rect是像素的,而UIkit里面的image的size却是点,由于从点转换到像素要考虑是否是retina屏幕。非retina屏幕一个点是一个像素,而retina屏幕一个点是两个像素。
初识CGImageRef以及CGImage,布布扣,bubuko.com
原文地址:http://www.cnblogs.com/yangyang1987/p/3746744.html