from http://www.cocoachina.com/bbs/read.php?tid=75122
CGContextRef context = 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() 返回颜色的各个直 以及透明度 可用只读const float 来接收 是个数组
//画图片
CGImageRef image=CGImageRetain(img.CGImage);
CGContextDrawImage(context, CGRectMake(10.0, height - 100.0, 90.0, 90.0), image);
//实现逐变颜色填充方法 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来填充形状内的颜色.
//填充一个路径的时候,路径里面的子路径都是独立填充的。
//假如是重叠的路径,决定一个点是否被填充,有两种规则
1,nonzero winding number rule:非零绕数规则,假如一个点被从左到右跨过,计数器+1,从右到左跨过,计数器-1,最后,如果结果是0,那么不填充,如果是非零,那么填充。
2,even-odd rule: 奇偶规则,假如一个点被跨过,那么+1,最后是奇数,那么要被填充,偶数则不填充,和方向没有关系。
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 混合俩种颜色
相关推荐
CGContext是iOS和macOS平台上的核心图形(Core Graphics)框架的一部分,用于2D绘图操作。这个"CGContext 2D画图 demo"是为初学者设计的,旨在教授如何利用CGContext进行基本的2D图形绘制。在这个教程中,我们将深入...
本篇将深入探讨如何利用CGContext来画线,这是一个核心图形上下文对象,用于在各种图形表面,如屏幕、PDF文档或内存中的位图上进行绘制。 CGContext是所有Core Graphics绘图的基础,它维护了当前的绘图状态,如颜色...
在iOS开发中,`CGContext`是Core Graphics框架的核心部分,用于进行图形绘制。它是一个图形上下文,用于管理绘制操作,如线条、形状、颜色和图像等。以下是对`CGContext`常用方法的详细解释: 1. `CGContextRef ...
在iOS开发中,CGContext是Core Graphics框架的一部分,用于在位图或屏幕上下文中进行图形绘制。本教程将深入探讨如何使用CGContext绘制美国国旗,同时结合UIImageView和transform属性来控制图像的显示效果。 首先,...
在iOS开发中,CGContext是Core Graphics框架的一部分,用于在位图或屏幕上下文中进行图形绘制。本案例中,"使用CGContext绘制时钟应用"是一个很好的实践项目,旨在教授开发者如何利用CGContext来创建一个实时显示...
这个“绘图之dome”是一个关于如何使用图形上下文(CGContext)进行绘图的示例项目。让我们深入探讨一下CGContext以及如何使用它来实现路径绘图和基于上下文的绘图。 CGContext,全称为Core Graphics Context,是...
这个"一个电池的demo,利用CGContext实现,大小自适应"项目是GitHub上的一个开源示例,作者liangmingzhe提供了如何用Core Graphics(简称CG)来绘制电池视图,并使其能够根据屏幕尺寸自动调整大小的代码。...
iOS中的贝塞尔曲线(Bezier Curve)是一种在图形设计和计算机图形学中广泛使用的数学工具,它允许开发者创建平滑、连续的曲线路径。贝塞尔曲线由控制点定义,通过调整这些控制点,可以灵活地控制曲线的形状和弯曲度...
这个"ios-iOS画板.zip"压缩包提供了一个简单的代码示例,它演示了如何利用Core Graphics(简称CG)框架中的`CGContext`进行绘图。`CGContext`是Apple的图形上下文对象,它允许开发者在各种表面(如屏幕、PDF、图像等...
在`drawRect:`方法中,我们可以使用`CGContext`来设置填充颜色、边框宽度和样式,以及添加阴影效果,使泡泡看起来更加立体。 接着,为了实现泡泡的浮动效果,我们需要使用`UIKit`框架中的`CADisplayLink`或`NSTimer...
正文第一步:建立全局CGcontext实例 然后建立事件回调函数 具体参考main函数定义 myCgContext cgCreateContext ; CGcontext myCgContext; 第二步:在OnResetDevice中Initialization CG 一开始调用cgD3D9SetDevice ...
这个方法接受三个参数:一个`CGContext`对象,用于绘制图像的矩形区域,以及一个`CGImage`对象,即要绘制的图像。它会在指定的矩形区域内绘制给定的图像,根据图像的大小和方向调整绘制。 二、CGContext `CGContext...
这可以通过在`draw(_ rect:)`方法中使用`CGContext.move(to:)`、`CGContext.addLine(to:)`以及`CGContext.strokePath()`来完成。刻度线的长度、间隔和样式可以根据需求调整。 4. **绘制指针**:指针是速度表的动态...
在添加水印的过程中,我们主要会用到`CGContext`,它是Core Graphics的主要绘图环境,用于在内存中或文件上进行绘图操作。 **一、文字水印** 1. **创建CGContext** 在添加文字水印前,我们需要创建一个`CGContext...
本教程将聚焦于创建一个自定义的时钟控件——DDClock,它使用了Core Graphics(CGContext)来绘制时钟界面。让我们深入探讨这个过程,了解如何利用iOS的图形上下文来构建这样的组件。 首先,我们要明白`CGContext`...
在这些方法中,设置当前的上下文(`CGContext`),并使用`UIBezierPath`填充或描边图形。例如: ```objc - (void)drawRect:(CGRect)rect { CGContextRef context = UIGraphicsGetCurrentContext(); [[UIColor ...
CGContext是Core Graphics的主要工作对象,它代表了一个图形上下文,用于绘制矩形、线条、图像以及更复杂的形状。在iOS中,我们通常在UIView的`draw(_:)`方法或者CALayer的`display()`方法中创建并使用CGContext,...
MPWDrawingContext,版本 0.3 围绕 CoreGraphics CGContextRef 的 Objective-C 包装器。 它包括 MPWDrawingContext 协议和通过调用 CoreGraphics CGContextRef 函数实现该协议的 MPWCGDrawingContext 类。...
作者hawk0620,源码PYQFeedDemo,1、绘制文本 使用core text可以将文本绘制在一个CGContextRef上,最后再通过UIGraphicsGetImageFromCurrentImageContext()生成图片,再将图片赋值给cell.contentView.layer,从而...