Quartz2d中基本的图像处理

来源:互联网 发布:电脑玩手游用什么软件 编辑:程序博客网 时间:2024/04/28 18:46

1.CGImageRef

    CGImageRef是定义在QuartzCore框架中的一个结构体指针。   (定义: typedef struct CGImage *CGImageRef; )  

    

    通过UIImage获取封装的CGImageRef,可以调用UIImage的CGImage方法

    UIImage* image = ...   

    CGImageRef ciRef = [image CGImage];

    通过CGImageRef获取UIImage,可以调用UIImage的imageWithCGImage:方法加载图片

    CGImageRef ciRef = ...  

    UIImage* image = [UIImage imageWithCGImage: ciRef]; 

    使用完毕CGImageRef,要CGImageRelease


   创建一个CGImageRef对象的方法:

   CGImageRef CGImageCreate(size_t width 图片宽度像素 , size_t height 图片高度像素 ,

   size_t bitsPerComponent 每个颜色的比特数(rgba-32模式下是8) , size_t bitsPerPixel 每个像素的总比特数 , 

   size_t bytesPerRow 每一行占用的字节数 , CGColorSpaceRef space 颜色空间模式 

   CGBitmapInfo bitmapInfo 位图像素布局 , CGDataProviderRef provider 数据源提供者,

   const CGFloat decode[] 解码渲染数组 , bool shouldInterpolate 是否抗锯齿 ,

   CGColorRenderingIntent intent 图片相关参数)


   创建一个可以mask图层(遮罩层),用于设置显示/不显示 部分的效果。

   CGImageRef CGImageMaskCreate(size_t width, size_t height,

   size_t bitsPerComponent, size_t bitsPerPixel, size_t bytesPerRow,

   CGDataProviderRef provider, const CGFloat decode[], bool shouldInterpolate)


   拷贝一个CGImageRef对象

   CGImageRef CGImageCreateCopy(CGImageRef image)


   截取图像的一个区域重绘图像

   CGImageRef CGImageCreateWithImageInRect(CGImageRef image,CGRect rect)   


   截取mask图像的某一区域重绘

   CGImageRef CGImageCreateWithMask(CGImageRef image, CGImageRef mask)


   


  2.CGContextRef

     CGContextRef(上下文)其实就是一块暂时见不到的画布,对他对它的一系列操作当将在这块画布上进行绘制。

     最后把这块画布展现(UIView)出来,使它能被看见。

      使用完毕之后需要CGContextRelease

     

     将目前上下文(画布)上的绘制存入栈。(说人话就像是游戏进行了存档)

     CGContextSaveGState

     将上一次保存的上下文(画布)上取出。(说人话就像是游戏进行了读档)

     CGContextRestoreGState

     

     将一张图像绘入上下文

     CGContextDrawImage


     绘制路径起始点

    CGContextMoveToPoint

     绘制路径终点

    CGContextAddLineToPoint

   

    设置填充颜色

    CGContextSetRGBFillColor 

    画笔颜色设置

    CGContextSetRGBStrokeColor 


     绘制路径

     CGContextStrokePath


     根据当前上下文获得图像

     UIGraphicsGetImageFromCurrentImageContext


      


0 0
原创粉丝点击