iOS的繪圖API

0  CGContextRef context = UIGraphicsGetCurrentContext(); 設(shè)置上下文
1 CGContextMoveToPoint 開(kāi)始畫線
2 CGContextAddLineToPoint 畫直線

4 CGContextAddEllipseInRect 畫一橢圓
4 CGContextSetLineCap 設(shè)置線條終點(diǎn)形狀
4 CGContextSetLineDash 畫虛線
4 CGContextAddRect 畫一方框
4 CGContextStrokeRect 指定矩形
4 CGContextStrokeRectWithWidth 指定矩形線寬度
4 CGContextStrokeLineSegments 一些直線

5 CGContextAddArc 畫已曲線 前倆店為中心 中間倆店為起始弧度 最后一數(shù)據(jù)為0則順時(shí)針畫 1則逆時(shí)針
5 CGContextAddArcToPoint(context,0,0, 2, 9, 40);//先畫倆條線從point 到 弟1點(diǎn) 疼邀, 從弟1點(diǎn)到弟2點(diǎn)的線  切割里面的圓
6 CGContextSetShadowWithColor 設(shè)置陰影
7 CGContextSetRGBFillColor 這只填充顏色
7 CGContextSetRGBStrokeColor 畫筆顏色設(shè)置
7 CGContextSetFillColorSpace 顏色空間填充
7 CGConextSetStrokeColorSpace 顏色空間畫筆設(shè)置
8 CGContextFillRect 補(bǔ)充當(dāng)前填充顏色的rect
8 CGContextSetAlaha 透明度

9 CGContextTranslateCTM 改變畫布位置
10 CGContextSetLineWidth 設(shè)置線的寬度
11 CGContextAddRects 畫多個(gè)線
12 CGContextAddQuadCurveToPoint 畫曲線
13  CGContextStrokePath 開(kāi)始繪制圖片
13 CGContextDrawPath 設(shè)置繪制模式
14 CGContextClosePath 封閉當(dāng)前線路
15 CGContextTranslateCTM(context, 0, rect.size.height);    CGContextScaleCTM(context, 1.0, -1.0);反轉(zhuǎn)畫布
16 CGContextSetInterpolationQuality 背景內(nèi)置顏色質(zhì)量等級(jí)
16 CGImageCreateWithImageInRect 從原圖片中取小圖

17 字符串的 寫入可用  nsstring本身的畫圖方法 - (CGSize)drawInRect:(CGRect)rect withFont:(UIFont *)font lineBreakMode:(UILineBreakMode)lineBreakMode alignment:(UITextAlignment)alignment;來(lái)寫進(jìn)去即可

18對(duì)圖片放大縮小的功能就是慢了點(diǎn)
    UIGraphicsBeginImageContext(newSize);
    UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
  UIGraphicsEndImageContext();

19 CGColorGetComponents() 返回顏色的各個(gè)直 以及透明度 可用只讀const float 來(lái)接收  是個(gè)數(shù)組

20 畫圖片 CGImageRef image=CGImageRetain(img.CGImage);
     CGContextDrawImage(context, CGRectMake(10.0, height -              
     100.0, 90.0, 90.0), image);

21 實(shí)現(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);
    
22 注:  畫完圖后,必須
    先用CGContextStrokePath來(lái)描線,即形狀
    后用CGContextFillPath來(lái)填充形狀內(nèi)的顏色.

填充一個(gè)路徑的時(shí)候斧吐,路徑里面的子路徑都是獨(dú)立填充的。
假如是重疊的路徑蛇券,決定一個(gè)點(diǎn)是否被填充囱淋,有兩種規(guī)則
1,nonzero winding number rule:非零繞數(shù)規(guī)則猪杭,假如一個(gè)點(diǎn)被從左到右跨過(guò),計(jì)數(shù)器+1妥衣,從右到左跨過(guò)皂吮,計(jì)數(shù)器-1戒傻,最后,如果結(jié)果是0蜂筹,那么不填充需纳,如果是非零,那么填充艺挪。
2,even-odd rule: 奇偶規(guī)則不翩,假如一個(gè)點(diǎn)被跨過(guò),那么+1麻裳,最后是奇數(shù)口蝠,那么要被填充,偶數(shù)則不填充津坑,和方向沒(méi)有關(guān)系妙蔗。

 Function
Description 
 CGContextEOFillPath
 使用奇偶規(guī)則填充當(dāng)前路徑
 CGContextFillPath
 使用非零繞數(shù)規(guī)則填充當(dāng)前路徑
 CGContextFillRect
 填充指定的矩形
 CGContextFillRects
 填充指定的一些矩形
 CGContextFillEllipseInRect
 填充指定矩形中的橢圓
 CGContextDrawPath
 兩個(gè)參數(shù)決定填充規(guī)則,kCGPathFill表示用非零繞數(shù)規(guī)則国瓮,kCGPathEOFill表示用奇偶規(guī)則灭必,kCGPathFillStroke表示填充,kCGPathEOFillStroke表示描線乃摹,不是填充


設(shè)置當(dāng)一個(gè)顏色覆蓋上另外一個(gè)顏色禁漓,兩個(gè)顏色怎么混合
默認(rèn)方式是
result = (alpha * foreground) + (1 - alpha) * background

CGContextSetBlendMode :設(shè)置blend mode.
CGContextSaveGState :保存blend mode.
CGContextRestoreGState:在沒(méi)有保存之前,用這個(gè)函數(shù)還原blend mode.
CGContextSetBlendMode 混合倆種顏色
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末孵睬,一起剝皮案震驚了整個(gè)濱河市播歼,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌掰读,老刑警劉巖秘狞,帶你破解...
    沈念sama閱讀 221,888評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異蹈集,居然都是意外死亡烁试,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,677評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門拢肆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)减响,“玉大人,你說(shuō)我怎么就攤上這事郭怪≈荆” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 168,386評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵鄙才,是天一觀的道長(zhǎng)颂鸿。 經(jīng)常有香客問(wèn)我,道長(zhǎng)攒庵,這世上最難降的妖魔是什么嘴纺? 我笑而不...
    開(kāi)封第一講書人閱讀 59,726評(píng)論 1 297
  • 正文 為了忘掉前任败晴,我火速辦了婚禮,結(jié)果婚禮上颖医,老公的妹妹穿的比我還像新娘位衩。我一直安慰自己,他們只是感情好熔萧,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,729評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布糖驴。 她就那樣靜靜地躺著,像睡著了一般佛致。 火紅的嫁衣襯著肌膚如雪贮缕。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 52,337評(píng)論 1 310
  • 那天俺榆,我揣著相機(jī)與錄音感昼,去河邊找鬼。 笑死罐脊,一個(gè)胖子當(dāng)著我的面吹牛定嗓,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播萍桌,決...
    沈念sama閱讀 40,902評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼宵溅,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了上炎?” 一聲冷哼從身側(cè)響起恃逻,我...
    開(kāi)封第一講書人閱讀 39,807評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎藕施,沒(méi)想到半個(gè)月后寇损,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,349評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡裳食,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,439評(píng)論 3 340
  • 正文 我和宋清朗相戀三年矛市,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片诲祸。...
    茶點(diǎn)故事閱讀 40,567評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡尘盼,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出烦绳,到底是詐尸還是另有隱情,我是刑警寧澤配紫,帶...
    沈念sama閱讀 36,242評(píng)論 5 350
  • 正文 年R本政府宣布径密,位于F島的核電站,受9級(jí)特大地震影響躺孝,放射性物質(zhì)發(fā)生泄漏享扔。R本人自食惡果不足惜底桂,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,933評(píng)論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望惧眠。 院中可真熱鬧籽懦,春花似錦、人聲如沸氛魁。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 32,420評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)秀存。三九已至捶码,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間或链,已是汗流浹背惫恼。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,531評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留澳盐,地道東北人祈纯。 一個(gè)月前我還...
    沈念sama閱讀 48,995評(píng)論 3 377
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像叼耙,于是被迫代替她去往敵國(guó)和親腕窥。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,585評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容