美文网首页IOS收藏
CoreGraphics学习

CoreGraphics学习

作者: 石丘 | 来源:发表于2015-06-29 19:28 被阅读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

    相关文章

      网友评论

        本文标题:CoreGraphics学习

        本文链接:https://www.haomeiwen.com/subject/xpeeqttx.html