前文
主要根据上一篇记录更加进阶的绘图知识
正文
矩阵操作
旋转:
CGContextRotate(上下文,M_PI_4)
缩放:
CGContextScaleCTM(上下文,sx缩放倍数,sy缩放倍数);
平移:
CGontextTranslateCTM(上下文,x,y);
在路径放到上下文之前才有效果.
栈
CGContextSaveGState(上下文);//保存了上下文的状态 线宽 颜色 等
CGCotextREstoreGState(上下文);//恢复之前的上下文
内存管理
CGPathRelease(路径对象)//释放掉路径对象
CGRElease(路径对象)//释放掉路径对象
绘制文字
NSString *te = @“测试”;
[te drawAtPoints:从某点开始 withAttributes:@{NSFontAttributeName:UIFont systemFontOfSize:30}]; //不换行
[te drawInRect:区域大小加某点 withAttributes:nil]; //可自动换行
//withAttributes传入字典 是对写入字体的各种参数,可为nil
绘制图片
UIImage *image = [UIImage imageNamed:@“xxx”];
[image drawAtpoints:从某点开始];//
[image drawInRect:区域大小加某点];//拉伸
裁剪上下文渲染区域
如果需要制作一个圆形图片
首先获得图片对象, 在此步骤之前需要裁剪出需要的区域
CGContextAddAcr()//绘制一个圆
CGCOntextClip()裁剪路径 //裁剪后 只显示圆的内容 //裁剪上下文的显示区域
image drawInRect: 将图片拉伸显示
图片类型上下文
1.开启
UIGraphicsBeginImageContext(Size大小);
或带参:WithOptions 一般用这个,后面的参数可调整像素倍数
2.获得当前上下文
CGContextRef ctx = UIGrapicsGetCurrentContext();
3.拼接路径
CGCotextMoveToPoint(ctx,50,50);
CGCOntextAddLineToPoint(ctx,100,100);
4.渲染
CGContextStrokePath(ctx);
//通过图片上下文获得对象
UIImage *image = UIGraphicsGetImageFromCurrentImagecontext();
//关闭
UIGraphicsEndImageContext();
图片水印:
获得图片image
开启图片上下文
[image drawAtPoins:0,0] //图片画到上下文中
NSString *str=@“水印”
[str drawAtPoints:x,y withAttributes:]. //文字写入了上下文中
得到最终的图片
关闭图片上下文
- 点赞
- 收藏
- 分享
- 文章举报
pathosis9发布了16 篇原创文章 · 获赞 0 · 访问量 2822私信关注