[iOS] UIImage和CGImageRef

时间:2022-06-28 14:45:17

CGImageRef并不是面向对象的API,也不是类,只是一个指针类型,Quartz 2D对CGImageRef的定义为:

typedef struct CGImage *CGImageRef;

由此可见,CGImageRef只是一个指针类型。

下面是这两者之间的转换:

//CGImageRef转换成UIImage
CGImageRef cgRef= CGBitmapContextCreateImage(context);
UIImage* image = [UIImage imageWithCGImage: cgRef]; // UIImage转换成CGImageRef
UIImage *uiImage=[UIImage imageNamed:@"abc.png"];
CGImageRef cgRef=uiImage.CGImage;