mmmmmmmm
// // AView.m // AutoLayout // // Created by ZhuYi on 16/5/24. // Copyright © 2016年 ZY. All rights reserved. // #import "AView.h" @implementation AView // Only override drawRect: if you perform custom drawing. // An empty implementation adversely affects performance during animation. - (void)drawRect:(CGRect)rect { // Drawing code UIImage *image = [UIImage imageNamed:@"dropdown_anim__0005"]; [image drawInRect:CGRectMake(, , rect.size.width, rect.size.height)]; // [image drawAsPatternInRect:CGRectMake(0, 0, rect.size.width, rect.size.height)]; } /** * 画三角形 */ void drawTriangel(){ //获得当前图形的上下文 CGContextRef ctx = UIGraphicsGetCurrentContext(); //设置七点 CGContextMoveToPoint(ctx, , ); CGContextAddLineToPoint(ctx, , ); CGContextAddLineToPoint(ctx, , ); // CGContextAddLineToPoint(ctx, 0, 0); //关闭路径 CGContextClosePath(ctx); // [[UIColor redColor] setFill]; // [[UIColor redColor] set]; CGContextSetRGBFillColor(ctx, , , , ); CGContextFillPath(ctx); } /** * 画矩形 */ void drawRect(){ CGContextRef ctx = UIGraphicsGetCurrentContext(); CGContextAddRect(ctx, CGRectMake(, , , )); // [[UIColor redColor] setStroke]; CGContextSetRGBStrokeColor(ctx, , , , ); CGContextStrokePath(ctx); } /** * 设置状态 */ void set(){ CGContextRef ctx = UIGraphicsGetCurrentContext(); //设置开头和结尾的样式 CGContextSetLineCap(ctx, kCGLineCapRound); //设置转折点的样式 CGContextSetLineJoin(ctx, kCGLineJoinRound); CGContextMoveToPoint(ctx, , ); CGContextAddLineToPoint(ctx, , ); CGContextSetLineWidth(ctx, ); CGContextSetRGBStrokeColor(ctx, , , , ); CGContextStrokePath(ctx); CGContextMoveToPoint(ctx, , ); CGContextAddLineToPoint(ctx, , ); CGContextAddLineToPoint(ctx, , ); CGContextSetRGBStrokeColor(ctx, , , , ); CGContextSetLineWidth(ctx, ); CGContextStrokePath(ctx); } /** * 画椭圆 */ void ellipse(){ CGContextRef ctx = UIGraphicsGetCurrentContext(); CGContextSetRGBStrokeColor(ctx, , , , ); CGContextSetLineWidth(ctx, ); CGContextAddEllipseInRect(ctx, CGRectMake(, , , )); CGContextStrokePath(ctx); } /** * 画圆弧 */ void arr(){ CGContextRef ctx = UIGraphicsGetCurrentContext(); CGContextAddArc(ctx, , , , , -M_PI_4, ); CGContextSetLineWidth(ctx, ); CGContextSetRGBStrokeColor(ctx, , , , ); CGContextStrokePath(ctx); } /** * 画圆弧 */ void cusarr(){ CGContextRef ctx = UIGraphicsGetCurrentContext(); CGContextMoveToPoint(ctx, , ); CGContextAddLineToPoint(ctx, , ); CGContextAddArc(ctx, , , , M_PI_2, M_PI, ); CGContextClosePath(ctx); CGContextFillPath(ctx); } /** * 画文字 */ void drawText() { // 1.获得上下文 CGContextRef ctx = UIGraphicsGetCurrentContext(); // 2.画矩形 CGRect cubeRect = CGRectMake(, , , ); CGContextAddRect(ctx, cubeRect); // 3.显示所绘制的东西 CGContextFillPath(ctx); // 4.画文字 NSString *str = @"哈哈哈哈Good morning hello hi hi hi hi"; // [str drawAtPoint:CGPointZero withAttributes:nil]; NSMutableDictionary *attrs = [NSMutableDictionary dictionary]; // NSForegroundColorAttributeName : 文字颜色 // NSFontAttributeName : 字体 attrs[NSForegroundColorAttributeName] = [UIColor redColor]; attrs[NSFontAttributeName] = [UIFont systemFontOfSize:]; [str drawInRect:cubeRect withAttributes:attrs]; } void drawImage() { // 1.取得图片 UIImage *image = [UIImage imageNamed:@"me"]; // 2.画 // [image drawAtPoint:CGPointMake(50, 50)]; // [image drawInRect:CGRectMake(0, 0, 150, 150)]; [image drawAsPatternInRect:CGRectMake(, , , )]; // 3.画文字 // NSString *str = @"为xxx所画"; // [str drawInRect:CGRectMake(0, 180, 100, 30) withAttributes:nil]; } /** * 矩阵操作和上下文栈 */ void juzhencaozuo(){ CGContextRef ctx = UIGraphicsGetCurrentContext(); //保存上下文栈 CGContextSaveGState(ctx); //矩阵操作 CGContextRotateCTM(ctx, M_PI_4 * 0.3); CGContextScaleCTM(ctx, 0.5, 0.5); CGContextTranslateCTM(ctx, , ); CGContextAddRect(ctx, CGRectMake(, , , )); CGContextStrokePath(ctx); //回复上下文栈 CGContextRestoreGState(ctx); CGContextAddEllipseInRect(ctx, CGRectMake(, , , )); CGContextMoveToPoint(ctx, , ); CGContextAddLineToPoint(ctx, , ); // 矩阵操作 // CGContextScaleCTM(ctx, 0.5, 0.5); CGContextStrokePath(ctx); } /** * 裁剪 */ void caijian(){ CGContextRef ctx = UIGraphicsGetCurrentContext(); CGContextSaveGState(ctx); // 0.画圆 CGContextAddEllipseInRect(ctx, CGRectMake(, , , )); // 裁剪 CGContextClip(ctx); CGContextFillPath(ctx); // 1.显示图片 UIImage *image = [UIImage imageNamed:@"me"]; [image drawAtPoint:CGPointMake(, )]; } /** * 刷帧 */ - (void)setRadios:(float)radios{ _radios = radios; [self setNeedsDisplay]; } - (void)shuazhen{ ) { self.radios = ; } CGContextRef ctx = UIGraphicsGetCurrentContext(); CGContextAddArc(ctx, , , self.radios, , M_PI * , ); CGContextStrokePath(ctx); } @end
http://www.jianshu.com/p/734b34e82135
mmmmmmmm的更多相关文章
- Android 如何有效的解决内存泄漏的问题
前言:最近在研究Handler的知识,其中涉及到一个问题,如何避免Handler带来的内存溢出问题.在网上找了很多资料,有很多都是互相抄的,没有实际的作用. 本文的内存泄漏检测工具是:LeakCana ...
- what is difference in (int)a,(int&)a,&a,int(&a) ?
This interview question come from a famous communication firm of china. : ) #include <iostream> ...
- JAVA基础学习day13--String、StringBuilder与StringBuffer与包装类
一.String 1.1.String String 类是final修饰的,是顶级类,不可被继承 String 类代表字符串.Java 程序中的所有字符串字面值(如 "abc" ) ...
- C/C++中float和double的存储结构
int main (int argc, char **argv) { float a = 1.0f; cout <<"(int&)a = "<<(i ...
- Pictures of Ascii Art
简述 指尖上的艺术 - 通过键盘上韵律般的敲敲打打,一幅幅美轮美奂的艺术作品便跃然于屏. 这样的画作,包含了无穷的创意,糅合了现代计算机科技与传统绘画艺术,难道还有比这更令人陶醉的美妙事物吗? 简述 ...
- UIProgressView-初识IOS
好几天没更新了,学的时候太紧,没时间复习了都.今天刚好有时间,多更几个. 今天复习的是UIProgressView,我们常见使用在修改某些属性的时候经常用到,比如透明度,今天我们介绍一个简单的使用例子 ...
- 项目必备!永无 bug 注释
佛祖保佑 永无bug 代码注释 // // _oo0oo_ // o8888888o // 88" . "88 // (| -_- |) // 0\ = /0 // ___/`-- ...
- C语言中,float在内存中的储存方式
浮点型变量在计算机内存中占用4字节(Byte),即32-bit. 遵循IEEE-754格式标准. 一个浮点数由2部分组成:底数m 和 指数e. ±mantissa × 2exponent (注意,公式 ...
- GPS坐标转换 百度地图API调用
1 如果GPS输出的值是DD.DDDDDDDD格式的,直接调用地图API的转换函数处理,就可以正常显示2 如果GPS输出的值是DD.MMMMMMMM格式的,就需要先进行分转度处理,然后再调API,就可 ...
随机推荐
- Grub禁用UUID
这个属于一个个人喜好问题,我每次看到 df -h 的结果都很郁闷,根目录那一行设备是用uuid表示的,那一串字符真是够长的,看起来非常别扭,所以就自己修改了一下/etc/default/grub文件. ...
- 获取时间SQL函数语句
1.获取时间 获取当天的数据 where DATEDIFF (DD, 数据库中时间的字段 ,GETDATE())=0 查询24小时内的 where DATEDIFF (HH, 数据库中时间的字段 ...
- 序列化和反序列化的几种方式(DataContractSerializer)
序列化和反序列化的几种方式(DataContractSerializer) DataContractSerializer 类 使用提供的数据协定,将类型实例序列化和反序列化为 XML 流或文档. 无法 ...
- sqlserver 注释提取工具
小程序大智慧,sqlserver 注释提取工具 开篇背景 我习惯在写表的创建脚本时将注释直接写在脚本里,比如 ? /*账套*/ CREATE TABLE [dbo].[AccountingBook] ...
- 在WebStorm中集成Karma+jasmine进行前端单元测试
在WebStorm中集成Karma+jasmine进行前端单元测试 前言 好久没有写博了,主要还是太懒=.=,有点时间都去带娃.看书了,今天给大家分享一个原创的小东西,如果大家对TDD或者BDD有兴趣 ...
- .NET程序集1
谈谈.NET程序集(一) 谈谈.NET程序集(一) The Assembly in .NET by 唐小崇 http://www.cnblogs.com/tangchong 在.NET出现之前, Wi ...
- 一步步学习Python-django开发-Mac下搭建Python-Django环境
首先确定学习那一个版本,以之前对Python的接触,Python2.x 的版本仍然占据很大的市场.但作为初学者我还是决定学习新的版本,相信未来会逐渐转向3.x版本的. 其实搭建Python不是一件很难 ...
- MySQL的一些基本查询,创建存储过程等
常用的查询条件有1.比较:=,<,>,<=,>=,!=,<>,!>,!< 2.确定范围:between and,not bet ...
- SQLsever2008 远程连接错误 linq
如果你也和我一样远程连接一个sqlsever2008数据时出现类似错误 SqlException (0x80131904): 用户 ‘xxxxx' 登录失败. 首先在“服务器资源管理器”中测试一下你的 ...
- Wget 命令详解
Wget主要用于下载文件,在安装软件时会经常用到,以下对wget做简单说明. 1.下载单个文件:wget http://www.baidu.com.命令会直接在当前目录下载一个index.html的文 ...