CGContext

  1. CGContextRefcontext=UIGraphicsGetCurrentContext();设置上下文
  2. CGContextMoveToPoint开始画线
  3. CGContextAddLineToPoint画直线
  4. CGContextAddEllipseInRect画一椭圆
  5. CGContextSetLineCap设置线条终点形状
  6. CGContextSetLineDash画虚线
  7. CGContextAddRect画一方框
  8. CGContextStrokeRect指定矩形
  9. CGContextStrokeRectWithWidth指定矩形线宽度
  10. CGContextStrokeLineSegments一些直线
  11. CGContextAddArc画已曲线前俩店为中心中间俩店为起始弧度最后一数据为0则顺时针画1则逆时针
  12. CGContextAddArcToPoint(context,0,0,2,9,40);//先画俩条线从point到弟1点,从弟1点到弟2点的线切割里面的圆
  13. CGContextSetShadowWithColor设置阴影
  14. CGContextSetRGBFillColor这只填充颜色
  15. CGContextSetRGBStrokeColor画笔颜色设置
  16. CGContextSetFillColorSpace颜色空间填充
  17. CGConextSetStrokeColorSpace颜色空间画笔设置
  18. CGContextFillRect补充当前填充颜色的rect
  19. CGContextSetAlaha透明度
  20. CGContextTranslateCTM改变画布位置
  21. CGContextSetLineWidth设置线的宽度
  22. CGContextAddRects画多个线
  23. CGContextAddQuadCurveToPoint画曲线
  24. CGContextStrokePath开始绘制图片
  25. CGContextDrawPath设置绘制模式
  26. CGContextClosePath封闭当前线路
  27. CGContextTranslateCTM(context,0,rect.size.height);CGContextScaleCTM(context,1.0,-1.0);反转画布
  28. CGContextSetInterpolationQuality背景内置颜色质量等级
  29. CGImageCreateWithImageInRect从原图片中取小图
  30. //字符串的写入可用nsstring本身的画图方法
  31. -(CGSize)drawInRect:(CGRect)rect
  32. withFont:(UIFont*)font
  33. lineBreakMode:(UILineBreakMode)lineBreakMode
  34. alignment:(UITextAlignment)alignment;来写进去即可
  35. //对图片放大缩小的功能就是慢了点
  36. UIGraphicsBeginImageContext(newSize);
  37. UIImage*newImage=UIGraphicsGetImageFromCurrentImageContext();
  38. UIGraphicsEndImageContext();
  39. CGColorGetComponents()返回颜色的各个直以及透明度可用只读constfloat来接收是个数组
  40. //画图片
  41. CGImageRefimage=CGImageRetain(img.CGImage);
  42. CGContextDrawImage(context,CGRectMake(10.0,height-100.0,90.0,90.0),image);
  43. //实现逐变颜色填充方法CGContextClip(context);
  44. CGColorSpaceRefrgb=CGColorSpaceCreateDeviceRGB();
  45. CGFloatcolors[]=
  46. {
  47. 204.0/255.0,224.0/255.0,244.0/255.0,1.00,
  48. 29.0/255.0,156.0/255.0,215.0/255.0,1.00,
  49. 0.0/255.0,50.0/255.0,126.0/255.0,1.00,
  50. };
  51. CGGradientRefgradient=CGGradientCreateWithColorComponents(rgb,colors,NULL,sizeof(colors)/(sizeof(colors[0])*4));
  52. CGColorSpaceRelease(rgb);
  53. CGContextDrawLinearGradient(context,gradient,CGPointMake(0.0,0.0),CGPointMake(0.0,self.frame.size.height),
  54. kCGGradientDrawsBeforeStartLocation);
  55. //注:画完图后,必须
  56. 先用CGContextStrokePath来描线,即形状
  57. 后用CGContextFillPath来填充形状内的颜色.
  58. //填充一个路径的时候,路径里面的子路径都是独立填充的。
  59. //假如是重叠的路径,决定一个点是否被填充,有两种规则
  60. 1,nonzerowindingnumberrule:非零绕数规则,假如一个点被从左到右跨过,计数器+1,从右到左跨过,计数器-1,最后,如果结果是0,那么不填充,如果是非零,那么填充。
  61. 2,even-oddrule:奇偶规则,假如一个点被跨过,那么+1,最后是奇数,那么要被填充,偶数则不填充,和方向没有关系。
  62. CGContextEOFillPath//使用奇偶规则填充当前路径
  63. CGContextFillPath//使用非零绕数规则填充当前路径
  64. CGContextFillRect//填充指定的矩形
  65. CGContextFillRects//填充指定的一些矩形
  66. CGContextFillEllipseInRect//填充指定矩形中的椭圆
  67. CGContextDrawPath//两个参数决定填充规则,kCGPathFill表示用非零绕数规则,kCGPathEOFill表示用奇偶规则,kCGPathFillStroke表示填充,kCGPathEOFillStroke表示描线,不是填充
  68. //设置当一个颜色覆盖上另外一个颜色,两个颜色怎么混合
  69. //默认方式是
  70. result=(alpha*foreground)+(1-alpha)*background
  71. CGContextSetBlendMode:设置blendmode.
  72. CGContextSaveGState:保存blendmode.
  73. CGContextRestoreGState:在没有保存之前,用这个函数还原blendmode.
  74. CGContextSetBlendMode混合俩种颜色

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值