IOS收藏

CoreGraphics学习

2015-06-29  本文已影响978人  石丘

官方介绍

CGBitmapContextCreate 创建位图上下文

当你调用这个函数的时候,Quartz创建一个位图绘制环境,也就是位图上下文。当你向上下文中绘制信息时,Quartz把你要绘制的信息作为位图数据绘制到指定的内存块。一个新的位图上下文的像素格式由三个参数决定:每个组件的位数,颜色空间,alpha选项。alpha值决定了绘制像素的透明性。
<code>
CGContextRef CGBitmapContextCreate (
void *data,//指向要渲染的绘制内存的地址。这个内存块的大小至少是(bytesPerRow*height)个字节
size_t width, //位图的宽度
size_t height, //位图的高度
size_t bitsPerComponent,//内存中像素的每个组件的位数.例如,对于32位像素格式和RGB 颜色空间,你应该将这个值设为8.
size_t bytesPerRow,//位图的每一行在内存所占的比特数
CGColorSpaceRef colorspace,//位图上下文使用的颜色空间。
CGBitmapInfo bitmapInfo// 指定位图是否包含alpha通道,像素中alpha通道的相对位置,像素组件是整形还是浮点型等信息的字符串。
);
//最后一个参数7.0后有更改 适配参考下面
#if __IPHONE_OS_VERSION_MAX_ALLOWED > __IPHONE_6_1
int bitmapInfo = kCGBitmapByteOrderDefault | kCGImageAlphaPremultipliedLast;
#else
int bitmapInfo = kCGImageAlphaPremultipliedLast;`
#endif
</code>
bitmap:位图, 亦称为点阵图像或绘制图像,是由称作像素(图片元素)的单个点组成的

CGImageCreate

<code>
CGImageCreate(
size_t width,//图片的宽度
size_t height,//图片的高度
size_t bitsPerComponent,//图片每个颜色的bits
size_t bitsPerPixel,//每一个像素占用的比特位
size_t bytesPerRow,//每一行占用多少字节
CGColorSpaceRef space,//颜色空间
CGBitmapInfo bitmapInfo,//参考CGBitmapContextCreate
CGDataProviderRef provider,//数据源提供者,url或者内存==
const CGFloat decode[],//一个解码数组
bool shouldInterpolate,//抗锯齿参数
CGColorRenderingIntent intent //图片渲染相关参数
);
</code>

CGPathAddArc

void CGPathAddArc( CGMutablePathRef __nullable path,//运动路径 const CGAffineTransform * __nullable m, CGFloat x, //相对父视图的x原点 CGFloat y, //相对父视图的y原点 CGFloat radius, // CGFloat startAngle, CGFloat endAngle, bool clockwise)
http://grayluo.github.io/WeiFocusIo/core%20graphics/2015/11/30/coregraphics/
http://blog.csdn.net/dick_china/article/details/7864428
http://blog.csdn.net/rhljiayou/article/details/9919713

上一篇下一篇

猜你喜欢

热点阅读