- CGContextRefcontext=UIGraphicsGetCurrentContext();设置上下文
- CGContextMoveToPoint开始画线
- CGContextAddLineToPoint画直线
- CGContextAddEllipseInRect画一椭圆
- CGContextSetLineCap设置线条终点形状
- CGContextSetLineDash画虚线
- CGContextAddRect画一方框
- CGContextStrokeRect指定矩形
- CGContextStrokeRectWithWidth指定矩形线宽度
- CGContextStrokeLineSegments一些直线
- CGContextAddArc画已曲线前俩店为中心中间俩店为起始弧度最后一数据为0则顺时针画1则逆时针
- CGContextAddArcToPoint(context,0,0,2,9,40);//先画俩条线从point到弟1点,从弟1点到弟2点的线切割里面的圆
- CGContextSetShadowWithColor设置阴影
- CGContextSetRGBFillColor这只填充颜色
- CGContextSetRGBStrokeColor画笔颜色设置
- CGContextSetFillColorSpace颜色空间填充
- CGConextSetStrokeColorSpace颜色空间画笔设置
- CGContextFillRect补充当前填充颜色的rect
- CGContextSetAlaha透明度
- CGContextTranslateCTM改变画布位置
- CGContextSetLineWidth设置线的宽度
- CGContextAddRects画多个线
- CGContextAddQuadCurveToPoint画曲线
- CGContextStrokePath开始绘制图片
- CGContextDrawPath设置绘制模式
- CGContextClosePath封闭当前线路
- CGContextTranslateCTM(context,0,rect.size.height);CGContextScaleCTM(context,1.0,-1.0);反转画布
- CGContextSetInterpolationQuality背景内置颜色质量等级
- CGImageCreateWithImageInRect从原图片中取小图
- //字符串的写入可用nsstring本身的画图方法
- -(CGSize)drawInRect:(CGRect)rect
- withFont:(UIFont*)font
- lineBreakMode:(UILineBreakMode)lineBreakMode
- alignment:(UITextAlignment)alignment;来写进去即可
- //对图片放大缩小的功能就是慢了点
- UIGraphicsBeginImageContext(newSize);
- UIImage*newImage=UIGraphicsGetImageFromCurrentImageContext();
- UIGraphicsEndImageContext();
- CGColorGetComponents()返回颜色的各个直以及透明度可用只读constfloat来接收是个数组
- //画图片
- CGImageRefimage=CGImageRetain(img.CGImage);
- CGContextDrawImage(context,CGRectMake(10.0,height-100.0,90.0,90.0),image);
- //实现逐变颜色填充方法CGContextClip(context);
- CGColorSpaceRefrgb=CGColorSpaceCreateDeviceRGB();
- CGFloatcolors[]=
- {
- 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,
- };
- CGGradientRefgradient=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来填充形状内的颜色.
- //填充一个路径的时候,路径里面的子路径都是独立填充的。
- //假如是重叠的路径,决定一个点是否被填充,有两种规则
- 1,nonzerowindingnumberrule:非零绕数规则,假如一个点被从左到右跨过,计数器+1,从右到左跨过,计数器-1,最后,如果结果是0,那么不填充,如果是非零,那么填充。
- 2,even-oddrule:奇偶规则,假如一个点被跨过,那么+1,最后是奇数,那么要被填充,偶数则不填充,和方向没有关系。
- CGContextEOFillPath//使用奇偶规则填充当前路径
- CGContextFillPath//使用非零绕数规则填充当前路径
- CGContextFillRect//填充指定的矩形
- CGContextFillRects//填充指定的一些矩形
- CGContextFillEllipseInRect//填充指定矩形中的椭圆
- CGContextDrawPath//两个参数决定填充规则,kCGPathFill表示用非零绕数规则,kCGPathEOFill表示用奇偶规则,kCGPathFillStroke表示填充,kCGPathEOFillStroke表示描线,不是填充
- //设置当一个颜色覆盖上另外一个颜色,两个颜色怎么混合
- //默认方式是
- result=(alpha*foreground)+(1-alpha)*background
- CGContextSetBlendMode:设置blendmode.
- CGContextSaveGState:保存blendmode.
- CGContextRestoreGState:在没有保存之前,用这个函数还原blendmode.
- CGContextSetBlendMode混合俩种颜色
CGContext
最新推荐文章于 2020-04-23 14:31:38 发布