搜索
简帛阁>技术文章>IOS - 绘图

IOS - 绘图

创建新的类,继承于UIView

在view上添加头文件
只需要在自己新创建的view上绘图


图片绘制:将图片直接绘制倒view上

UIImage* image = [UIImage imageNamed:@"5.png"];
[image drawAtPoint:CGPointMake(100, 100)];
//-------------------------------------------------------------------------------------------------------------------------------------------------------

文字绘制:将文字直接绘制倒view上

NSString* str = @"ABCDEFG";
[str drawInRect:CGRectMake(100, 100, 200, 50) withFont:[UIFont systemFontOfSize:30.0] lineBreakMode:UILineBreakModeCharacterWrap alignment:UITextAlignmentLeft];
换行方式 对其方式
//-------------------------------------------------------------------------------------------------------------------------------------------------------

绘制线:

//得到上下文
CGContextRef ref = UIGraphicsGetCurrentContext();
//线宽设定
CGContextSetLineWidth(ref, 10.0);
//线的边角样式(圆角型)
CGContextSetLineCap(ref, kCGLineCapRound);
CGContextSetLineJoin(ref, kCGLineJoinRound);

//虚线
float lengths[] = {20,10};
//(上下文,起点的偏移量,事例描述的时20像素的虚线10的空格,数组有2个元素)
CGContextSetLineDash(ref, 0, lengths, 2);
//如果要恢复线的属性只需要输入null即可
CGContextSetLineDash(ref, 0, NULL, 0);
//线条颜色
CGContextSetStrokeColorWithColor(ref, [UIColor purpleColor].CGColor);

//移动绘图点
CGContextMoveToPoint(ref, 100, 100);
//绘制直线
CGContextAddLineToPoint(ref, 220, 220);
CGContextAddLineToPoint(ref, 100, 220);
//封闭(不需要绘制第三条线,运行封闭语句系统自动完成图形的绘制)
CGContextClosePath(ref);
//开始绘制线并在view上显示
CGContextStrokePath(ref);
//-------------------------------------------------------------------------------------------------------------------------------------------------------

绘制图:
//得到上下文
CGContextRef ref = UIGraphicsGetCurrentContext();
//线宽设定
CGContextSetLineWidth(ref, 5.0);
//填充的颜色
CGContextSetFillColorWithColor(ref, [UIColor purpleColor].CGColor);
//线条颜色
CGContextSetStrokeColorWithColor(ref, [UIColor blueColor].CGColor);
//透明度
CGContextSetAlpha(ref, 0.5);
//影子的偏移量,颜色
CGContextSetShadowWithColor(ref, CGSizeMake(20, 20), 20, [UIColor grayColor].CGColor);
//绘制圆型
CGContextAddRect(ref, CGRectMake(100, 100, 100, 100));
//图形显示方式为:线条填充图一起显示(此方法一定要在绘制图形完成后使用,否则无效)
CGContextDrawPath(ref, kCGPathFillStroke);
CGContextStrokePath(ref);
//-------------------------------------------------------------------------------------------------------------------------------------------------------

绘制半圆:
CGContextRef ref = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(ref, [UIColor redColor].CGColor);
//如果没有这句,那么下面绘制就是一个从0度到100度的圆型的一部分,因为没有设置move点
CGContextMoveToPoint(ref, 150, 150);
//(100为半径,最后的0说明时顺时针[逆时针为1])
CGContextAddArc(ref, 150, 150, 100, 0 * M_PI / 180, 100 * M_PI / 180, 0);
CGContextFillPath(ref);
//---------------------------------
CGContextSetFillColorWithColor(ref, [UIColor greenColor].CGColor);
CGContextMoveToPoint(ref, 150, 150);
CGContextAddArc(ref, 150, 150, 100, 100 * M_PI / 180, 230 * M_PI / 180, 0);
CGContextFillPath(ref);
CGContextSetFillColorWithColor(ref, [UIColor blueColor].CGColor);
CGContextMoveToPoint(ref, 150, 150);
CGContextAddArc(ref, 150, 150, 100, 230 * M_PI / 180, 360 * M_PI / 180, 0);
CGContextFillPath(ref);
//-------------------------------------------------------------------------------------------------------------------------------------------------------

绘制弧线:

CGContextMoveToPoint(ref, 100, 350);
//(120,250)是弧线顶点的坐标 (300,350)是弧线最右端的坐标
CGContextAddQuadCurveToPoint(ref, 120, 250, 300, 350);
CGContextStrokePath(ref);
创建新的类,继承于UIView在view上添加头文件只需要在自己新创建的view上绘图图片绘制:将图片直接绘制倒view上UIImage*image[UIImageimageNamed:@5png];
绘图路径A简单说明在画线的时候,方法的内部默认创建一个path。它把路径都放到了path里面去。1创建路径cgmutablepathref调用该方法相当于创建了一个路径,这个路径用来保存绘图信息。2
1什么是kvckvckeyvaluecoding,健值编码可以通过key直接访问对象属性的value的方法2使用场景kvc主要是为了让代码变的更简介明了用的比较多的是在后台数据解析,还有访问一些没
一、什么是kvo?keyvalueobserving,观察者模式观察者,观察对象属性的变化,当被观察者该属性发生变化时,观察者会接收到通知,可以在回调函数中做相应的处理二、有什么作用?变化处理操作可以
IOS开发几种截屏方法1UIGraphicsBeginImageContextWithOptions(pageViewpageboundssize,YES,zoomScale);[pageViewp
iOSwebsocket最近在开发一个直播应用,需要用到弹幕功能,后台说要用websocket来实现,所以学习了一下一、RocketSocket搜索了一下发现,用的最多的还是Facebook的Rock
https://xiaozhuanlancom/topic/9273604158先来张渲染的流程图:这张图其实有很多误导,我的更改如下:可以看到整个流程是一个pipeline(一次pipeline要跨
iOS国际化的大致步骤如下:1在最新的Xcode中没有InfoPliststringsLocalizationstrings文件,所以我们要自己建立这两个文件2选择刚创建的Localizations
1block可以用来保存一段代码,或者用来封装一段代码。>代码段,代码块。2block的标志是^3block跟函数很像可以保存代码;可以有返回值;也可以有行参;调用方式一样;4定义一个b
1假设有三个对象,一个父类的父类,一个父类和一个子类。父类的父类持有父类的引用(retain),父类持有子类的引用(retain),子类持有父类的引用(retain)。父类的父类释放(release)