首页 > 代码库 > 初识CGImageRef以及CGImage

初识CGImageRef以及CGImage

初识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屏幕一个点是两个像素。