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)
CGImageRef CGImageCreateWithMask(CGImageRef image, CGImageRef mask)
2.CGContextRef
CGContextRef(上下文)其实就是一块暂时见不到的画布,对他对它的一系列操作当将在这块画布上进行绘制。
最后把这块画布展现(UIView)出来,使它能被看见。
使用完毕之后需要CGContextRelease
将目前上下文(画布)上的绘制存入栈。(说人话就像是游戏进行了存档)
CGContextSaveGState
将上一次保存的上下文(画布)上取出。(说人话就像是游戏进行了读档)
CGContextRestoreGState
将一张图像绘入上下文
CGContextDrawImage
绘制路径起始点
CGContextMoveToPoint
绘制路径终点
CGContextAddLineToPoint
设置填充颜色
CGContextSetRGBFillColor画笔颜色设置
CGContextSetRGBStrokeColor
绘制路径
CGContextStrokePath
根据当前上下文获得图像
UIGraphicsGetImageFromCurrentImageContext
- Quartz2d中基本的图像处理
- Quartz2D 图像处理
- Quartz2D 图像处理
- Quartz2D 图像处理
- Quartz2D 图像处理
- Quartz2D 图像处理
- Quartz2D图像处理
- Quartz2D 图像处理
- Quartz2D 图像处理
- Quartz2D 图像处理
- Quartz2D 图像处理详解(一)
- Quartz2D 图像处理详解(二)
- [OpenCv]opencv中图像处理的一些基本操作
- matlab中图像处理的基本函数(1)
- matlab中图像处理的基本函数(2)
- Quartz2D绘图的基本使用
- Quartz2D技术基本的操作
- 图像处理的基本算法
- WebService 安卓客户端调用和服务器端搭建
- 如何查看本地Git的html帮助文档
- 优先队列
- ios三方插件
- 欢迎使用CSDN-markdown编辑器
- Quartz2d中基本的图像处理
- Problem E: 建立链表(线性表)
- Android新手入门2016(11)--非阻塞对话框AlertDialog
- C++中istringstream、ostringstream、stringstream 的用法
- a1004. Counting Leaves (30)
- 阿里算法实习生面试回忆
- bzoj2321[BeiJing2011集训]星器
- 203. Remove Linked List Elements
- memcached完全剖析–memcached的基础