日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

CGContext转CC

發布時間:2023/12/10 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CGContext转CC 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

0 ?CGContextRef context = UIGraphicsGetCurrentContext(); 設置上下文

1 CGContextMoveToPoint 開始畫線

2 CGContextAddLineToPoint 畫直線

4 CGContextAddEllipseInRect 畫一橢圓

4 CGContextSetLineCap 設置線條終點形狀

4 CGContextSetLineDash 畫虛線

4 CGContextAddRect 畫一方框

4 CGContextStrokeRect 指定矩形

4 CGContextStrokeRectWithWidth 指定矩形線寬度

4 CGContextStrokeLineSegments 一些直線

5 CGContextAddArc 畫已曲線 前倆店為中心 中間倆店為起始弧度 最后一數據為0則順時針畫 1則逆時針

5 CGContextAddArcToPoint(context,0,0, 2, 9, 40);//先畫倆條線從point 到 弟1點 , 從弟1點到弟2點的線 ?切割里面的圓

6 CGContextSetShadowWithColor 設置陰影

7 CGContextSetRGBFillColor 這只填充顏色

7 CGContextSetRGBStrokeColor 畫筆顏色設置

7 CGContextSetFillColorSpace 顏色空間填充

7 CGConextSetStrokeColorSpace 顏色空間畫筆設置

8 CGContextFillRect 補充當前填充顏色的rect

8 CGContextSetAlaha 透明度

9 CGContextTranslateCTM 改變畫布位置

10 CGContextSetLineWidth 設置線的寬度

11 CGContextAddRects 畫多個線

12 CGContextAddQuadCurveToPoint 畫曲線

13 ?CGContextStrokePath 開始繪制圖片

13 CGContextDrawPath 設置繪制模式

14 CGContextClosePath 封閉當前線路

15 CGContextTranslateCTM(context, 0, rect.size.height); ? ?CGContextScaleCTM(context, 1.0, -1.0);反轉畫布

16 CGContextSetInterpolationQuality 背景內置顏色質量等級

16 CGImageCreateWithImageInRect 從原圖片中取小圖

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

18對圖片放大縮小的功能就是慢了點?

? ? UIGraphicsBeginImageContext(newSize);

? ? UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();

? UIGraphicsEndImageContext();

?

19 CGColorGetComponents() 返回顏色的各個直 以及透明度 可用只讀const float 來接收 ?是個數組

20 畫圖片 CGImageRef image=CGImageRetain(img.CGImage);

? ? ?CGContextDrawImage(context, CGRectMake(10.0, height - ? ? ? ? ? ? ?

? ? ?100.0, 90.0, 90.0), image);

?

21 實現逐變顏色填充方法 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來描線,即形狀?

? ? 后用CGContextFillPath來填充形狀內的顏色.?

填充一個路徑的時候,路徑里面的子路徑都是獨立填充的。

假如是重疊的路徑,決定一個點是否被填充,有兩種規則

1,nonzero winding number rule:非零繞數規則,假如一個點被從左到右跨過,計數器+1,從右到左跨過,計數器-1,最后,如果結果是0,那么不填充,如果是非零,那么填充。

2,even-odd rule: 奇偶規則,假如一個點被跨過,那么+1,最后是奇數,那么要被填充,偶數則不填充,和方向沒有關系。

?Function

Description?

?CGContextEOFillPath

?使用奇偶規則填充當前路徑

?CGContextFillPath

?使用非零繞數規則填充當前路徑

?CGContextFillRect

?填充指定的矩形

?CGContextFillRects

?填充指定的一些矩形

?CGContextFillEllipseInRect

?填充指定矩形中的橢圓

?CGContextDrawPath

?兩個參數決定填充規則,kCGPathFill表示用非零繞數規則,kCGPathEOFill表示用奇偶規則,kCGPathFillStroke表示填充,kCGPathEOFillStroke表示描線,不是填充

?

設置當一個顏色覆蓋上另外一個顏色,兩個顏色怎么混合

默認方式是

result = (alpha * foreground) + (1 - alpha) * background

CGContextSetBlendMode :設置blend mode.

CGContextSaveGState :保存blend mode.

CGContextRestoreGState:在沒有保存之前,用這個函數還原blend mode.

CGContextSetBlendMode 混合倆種顏色

轉載于:https://www.cnblogs.com/lovesmile/archive/2012/09/05/2671337.html

總結

以上是生活随笔為你收集整理的CGContext转CC的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。