博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2015.12.7 Objective-c CoreGraphic
阅读量:6825 次
发布时间:2019-06-26

本文共 2773 字,大约阅读时间需要 9 分钟。

hot3.png

#import "myView.h"@implementation myView- (void)drawRect:(CGRect)rect {    NSLog(@"drawRect被调用了");//    [self drawLine];    CGContextRef context = UIGraphicsGetCurrentContext();//    [self drawRectWithContext: context];//    [self drawArc:context];    [self drawCurve:context];}-(void) drawLine{    //获取图形上下文    CGContextRef context = UIGraphicsGetCurrentContext();    //设置线的起点位置    CGContextMoveToPoint(context, 0, 0);    //添加线段到点    CGContextAddLineToPoint(context, 375/2.0, 667/2.0);    CGContextAddLineToPoint(context, 375, 0);    //绘制闭合路径    CGContextClosePath(context);        CGContextMoveToPoint(context, 375/2.0, 667/2.0);    CGContextAddLineToPoint(context, 375/2.0, 667);        [[UIColor redColor]set];        //设置线条宽度    CGContextSetLineWidth(context, 5.0);    //设置填充颜色    CGContextSetRGBFillColor(context, 0, 0, 1, 1);        //渲染显示到view上    CGContextDrawPath(context, kCGPathFillStroke);    }-(void) drawRectWithContext : (CGContextRef)context{    //确定矩形图像的大小位置    CGRect rect = CGRectMake(20, 20, 335, 50);    CGContextAddRect(context, rect);    //设置矩形的属性    [[UIColor blueColor]set];    //绘制    CGContextDrawPath(context, kCGPathFillStroke);}#pragma mark 绘制椭圆-(void)drawEllipse : (CGContextRef)context{    CGRect rect = CGRectMake(50, 50, 275, 200);    CGContextAddEllipseInRect(context, rect);    //设置属性    [[UIColor purpleColor]set];    //绘制    CGContextDrawPath(context, kCGPathFillStroke);}#pragma mark 绘制弧-(void) drawArc : (CGContextRef)context{    /*     x: 中心点x坐标     y: 中心点y坐标     radius: 半径     startAngle: 起始弧度     endAngle: 结束弧度     clockwise: 是否逆时针绘制, 0则顺时针绘制     */    CGContextAddArc(context, 375/2.0, 667/2.0, 100, 0.0, M_PI_2, 1);    //设置属性    [[UIColor orangeColor]setFill];    //绘制    CGContextDrawPath(context, kCGPathStroke);}#pragma mark 绘制贝塞尔曲线-(void) drawCurve : (CGContextRef) context{    CGContextMoveToPoint(context, 20, 500);    /*     cp1x: 第一个控制点x坐标     cp1y: 第一个控制点y坐标     cp2x: 第二个控制点x坐标     cp2y: 第二个控制点y坐标     x: 结束点x坐标     y: 结束点y坐标     */    CGContextAddCurveToPoint(context, 20, 300, 295, 500, 355, 300);    //设置属性    [[UIColor yellowColor]setFill];    [[UIColor redColor]setStroke];        //第一条切线    CGContextMoveToPoint(context, 20, 500);    CGContextAddLineToPoint(context, 20, 300);    //第二条切线    CGContextMoveToPoint(context, 355, 300);    CGContextAddLineToPoint(context, 295, 500);        //绘制    CGContextDrawPath(context, kCGPathFillStroke);        }//一个控制点的贝塞尔曲线-(void) drawOneCurve : (CGContextRef) context{    //移动到曲线起始位置    CGContextMoveToPoint(context, 20, 100);    CGContextAddQuadCurveToPoint(context, 187.5, 0, 355, 100);    [[UIColor yellowColor]setFill];    [[UIColor redColor]setStroke];    //绘制    CGContextDrawPath(context, kCGPathFillStroke);}@end

转载于:https://my.oschina.net/u/2483781/blog/540313

你可能感兴趣的文章
VS2017 添加引用时报错未能正确加载ReferenceManagerPackage包的解决方法(补充 ,使用vs命令工具时提示权限不足,需要管理员权限)...
查看>>
Oracle 11g 概述 chaper1
查看>>
pending list
查看>>
C#窗口禁止移动的方法
查看>>
Cesium官方教程9--粒子系统
查看>>
java获取当前时间
查看>>
node:json与csv互转
查看>>
【poj 2115】C Looooops(数论--拓展欧几里德 求解同余方程 模版题)
查看>>
8.OpenStack网络组件
查看>>
在 Windows 中配置Maven:
查看>>
第一个项目总结——写给还在迷茫的新学员
查看>>
生活,态度决定一切
查看>>
iPhone多国语言版本
查看>>
微信分享接口
查看>>
halcon算子翻译——entropy_gray
查看>>
WCF配置
查看>>
面向对象第四章(封装、static)
查看>>
vs快捷键
查看>>
最少拦截系统
查看>>
centos6.9安装mysql5.7.18
查看>>