zoukankan      html  css  js  c++  java
  • Quartz-2D

    Quartz 2D是一个二维图形绘制引擎,支持iOS环境和Mac OS X环境。我们可以使用Quartz 2D API来实现许多功能,如基本路径的绘制、透明度、描影、绘制阴影、透明层、颜色管理、反锯齿、PDF文档生成和PDF元数据访问。在需要的时候,Quartz 2D还可以借助图形硬件的功能。

    使用Quartz-2D画图可以分为三个步骤

    1.获取图形上下文

    2.画线

    3.绘制图形

    - (void)drawRect:(CGRect)rect 此方法是UIView的绘制方法,上述三个步骤皆需要在此方法内完成

    下列是以画线段为例的代码

        //1获取图形上下文
        CGContextRef ctf = UIGraphicsGetCurrentContext();
        //设置线段宽度
        CGContextSetLineWidth(ctf, 20);
        //设置线段头尾部样式
    //    CGContextSetLineCap(ctf, kCGLineCapSquare);
    //    CGContextSetLineCap(ctf, kCGLineCapButt);
        CGContextSetLineCap(ctf, kCGLineCapRound);
        //设置转折点样式
        CGContextSetLineJoin(ctf, kCGLineJoinRound);
    //    CGContextSetLineJoin(ctf, kCGLineJoinBevel);
    //    CGContextSetLineJoin(ctf, kCGLineJoinMiter);
        
        //2画线
        CGContextMoveToPoint(ctf, 100, 100);
        CGContextAddLineToPoint(ctf, 200, 300);
        CGContextAddLineToPoint(ctf, 200, 150);
        //设置颜色
        [[UIColor whiteColor] set];
        
        //3绘制图形
        CGContextStrokePath(ctf);

    下图为效果

    使用Quartz2D还可以画三角形,矩形,圆形,画圆弧,画文字,画图片,结合触摸的三个方法还可以实现涂鸦板的功能

  • 相关阅读:
    CentOS7使用firewalld打开关闭防火墙与端口
    SELinux: Could not downgrade policy file
    CentOS 安装 semanage 命令
    漏洞: RHSA2017:3075: wget security update
    CentOS7增加或修改SSH端口号
    gnl's not lao 道德经 英文版
    当代 IT 大牛排行榜
    当代 IT 大牛排行榜
    2008 年个人回忆与总结
    Patch2 for NetBeans IDE 6.5 Now Available
  • 原文地址:https://www.cnblogs.com/dabaomo/p/5203258.html
Copyright © 2011-2022 走看看