CGBitmapContextCreate 創(chuàng)建位圖上下文
當你調(diào)用這個函數(shù)的時候掉弛,Quartz創(chuàng)建一個位圖繪制環(huán)境响迂,也就是位圖上下文。當你向上下文中繪制信息時展姐,Quartz把你要繪制的信息作為位圖數(shù)據(jù)繪制到指定的內(nèi)存塊。一個新的位圖上下文的像素格式由三個參數(shù)決定:每個組件的位數(shù)剖毯,顏色空間圾笨,alpha選項。alpha值決定了繪制像素的透明性逊谋。
<code>
CGContextRef CGBitmapContextCreate (
void *data,//指向要渲染的繪制內(nèi)存的地址擂达。這個內(nèi)存塊的大小至少是(bytesPerRow*height)個字節(jié)
size_t width, //位圖的寬度
size_t height, //位圖的高度
size_t bitsPerComponent,//內(nèi)存中像素的每個組件的位數(shù).例如,對于32位像素格式和RGB 顏色空間胶滋,你應該將這個值設為8.
size_t bytesPerRow,//位圖的每一行在內(nèi)存所占的比特數(shù)
CGColorSpaceRef colorspace,//位圖上下文使用的顏色空間板鬓。
CGBitmapInfo bitmapInfo// 指定位圖是否包含alpha通道,像素中alpha通道的相對位置究恤,像素組件是整形還是浮點型等信息的字符串俭令。
);
//最后一個參數(shù)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,//每一行占用多少字節(jié)
CGColorSpaceRef space,//顏色空間
CGBitmapInfo bitmapInfo,//參考CGBitmapContextCreate
CGDataProviderRef provider,//數(shù)據(jù)源提供者部宿,url或者內(nèi)存==
const CGFloat decode[],//一個解碼數(shù)組
bool shouldInterpolate,//抗鋸齒參數(shù)
CGColorRenderingIntent intent //圖片渲染相關(guān)參數(shù)
)抄腔;
</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