CGContextRef context = UIGraphicsGetCurrentContext(); 設(shè)置上下文
CGContextMoveToPoint 開始畫線
CGContextAddLineToPoint 畫直線
CGContextAddEllipseInRect 畫一橢圓
CGContextSetLineCap 設(shè)置線條終點形狀
CGContextSetLineDash 畫虛線
CGContextAddRect 畫一方框
CGContextStrokeRect 指定矩形
CGContextStrokeRectWithWidth 指定矩形線寬度
CGContextStrokeLineSegments 一些直線
CGContextAddArc 畫已曲線 前倆店為中心 中間倆店為起始弧度 最后一數(shù)據(jù)為0則順時針畫 1則逆時針
CGContextAddArcToPoint(context,0,0, 2, 9, 40);//先畫倆條線從point 到 弟1點 届吁, 從弟1點到弟2點的線 切割里面的圓
CGContextSetShadowWithColor 設(shè)置陰影
CGContextSetRGBFillColor 這只填充顏色
CGContextSetRGBStrokeColor 畫筆顏色設(shè)置
CGContextSetFillColorSpace 顏色空間填充
CGConextSetStrokeColorSpace 顏色空間畫筆設(shè)置
CGContextFillRect 補充當(dāng)前填充顏色的rect
CGContextSetAlaha 透明度
CGContextTranslateCTM 改變畫布位置
CGContextSetLineWidth 設(shè)置線的寬度
CGContextAddRects 畫多個線
CGContextAddQuadCurveToPoint 畫曲線
CGContextStrokePath 開始繪制圖片
CGContextDrawPath 設(shè)置繪制模式
CGContextClosePath 封閉當(dāng)前線路
CGContextTranslateCTM(context, 0, rect.size.height); CGContextScaleCTM(context, 1.0, -1.0);反轉(zhuǎn)畫布
CGContextSetInterpolationQuality 背景內(nèi)置顏色質(zhì)量等級
CGImageCreateWithImageInRect 從原圖片中取小圖
//字符串的 寫入可用 nsstring本身的畫圖方法
-(CGSize)drawInRect:(CGRect)rect
withFont:(UIFont *)font
lineBreakMode:(UILineBreakMode)lineBreakMode
alignment:(UITextAlignment)alignment;來寫進去即可
//對圖片放大縮小的功能就是慢了點
UIGraphicsBeginImageContext(newSize);
UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
CGColorGetComponents() 返回顏色的各個直 以及透明度 可用只讀const float 來接收 是個數(shù)組
//畫圖片
CGImageRef image=CGImageRetain(img.CGImage);
CGContextDrawImage(context, CGRectMake(10.0, height - 100.0, 90.0, 90.0), image);
//實現(xiàn)逐變顏色填充方法 CGContextClip(context);
CGColorSpaceRef rgb = CGColorSpaceCreateDeviceRGB();
CGFloat colors[] =
{
204.0 / 255.0, 224.0 / 255.0, 244.0 / 255.0, 1.00,
29.0 / 255.0, 156.0 / 255.0, 215.0 / 255.0, 1.00,
0.0 / 255.0, 50.0 / 255.0, 126.0 / 255.0, 1.00,
};
CGGradientRef gradient = CGGradientCreateWithColorComponents(rgb, colors, NULL, sizeof(colors)/(sizeof(colors[0])*4));
CGColorSpaceRelease(rgb);
CGContextDrawLinearGradient(context, gradient,CGPointMake(0.0,0.0) ,CGPointMake(0.0,self.frame.size.height),
kCGGradientDrawsBeforeStartLocation);
//注: 畫完圖后,必須
先用CGContextStrokePath來描線,即形狀
后用CGContextFillPath來填充形狀內(nèi)的顏色.
//填充一個路徑的時候炭剪,路徑里面的子路徑都是獨立填充的。
//假如是重疊的路徑堆缘,決定一個點是否被填充馍惹,有兩種規(guī)則
1,nonzero winding number rule:非零繞數(shù)規(guī)則,假如一個點被從左到右跨過,計數(shù)器+1,從右到左跨過悠砚,計數(shù)器-1,最后堂飞,如果結(jié)果是0灌旧,那么不填充,如果是非零酝静,那么填充颇蜡。
2,even-odd rule: 奇偶規(guī)則摊崭,假如一個點被跨過,那么+1钻弄,最后是奇數(shù)稼稿,那么要被填充薄榛,偶數(shù)則不填充,和方向沒有關(guān)系让歼。
CGContextEOFillPath //使用奇偶規(guī)則填充當(dāng)前路徑
CGContextFillPath //使用非零繞數(shù)規(guī)則填充當(dāng)前路徑
CGContextFillRect //填充指定的矩形
CGContextFillRects //填充指定的一些矩形
CGContextFillEllipseInRect //填充指定矩形中的橢圓
CGContextDrawPath //兩個參數(shù)決定填充規(guī)則敞恋,kCGPathFill表示用非零繞數(shù)規(guī)則,kCGPathEOFill表示用奇偶規(guī)則谋右,kCGPathFillStroke表示填充硬猫,kCGPathEOFillStroke表示描線,不是填充
//設(shè)置當(dāng)一個顏色覆蓋上另外一個顏色,兩個顏色怎么混合
//默認方式是
result = (alpha * foreground) + (1 - alpha) * background
CGContextSetBlendMode :設(shè)置blend mode.
CGContextSaveGState :保存blend mode.
CGContextRestoreGState:在沒有保存之前啸蜜,用這個函數(shù)還原blend mode.
CGContextSetBlendMode 混合倆種顏色
CGContext接口說明
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
- 文/潘曉璐 我一進店門矮锈,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人构眯,你說我怎么就攤上這事愕难。” “怎么了惫霸?”我有些...
- 文/不壞的土叔 我叫張陵猫缭,是天一觀的道長。 經(jīng)常有香客問我壹店,道長猜丹,這世上最難降的妖魔是什么? 我笑而不...
- 正文 為了忘掉前任硅卢,我火速辦了婚禮射窒,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘将塑。我一直安慰自己脉顿,他們只是感情好,可當(dāng)我...
- 文/花漫 我一把揭開白布点寥。 她就那樣靜靜地躺著艾疟,像睡著了一般。 火紅的嫁衣襯著肌膚如雪敢辩。 梳的紋絲不亂的頭發(fā)上蔽莱,一...
- 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼乓诽!你這毒婦竟也來了帜羊?” 一聲冷哼從身側(cè)響起,我...
- 正文 年R本政府宣布线定,位于F島的核電站,受9級特大地震影響确买,放射性物質(zhì)發(fā)生泄漏斤讥。R本人自食惡果不足惜,卻給世界環(huán)境...
- 文/蒙蒙 一湾趾、第九天 我趴在偏房一處隱蔽的房頂上張望芭商。 院中可真熱鬧,春花似錦搀缠、人聲如沸铛楣。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽簸州。三九已至,卻和暖如春衷敌,著一層夾襖步出監(jiān)牢的瞬間勿侯,已是汗流浹背拓瞪。 一陣腳步聲響...