zoukankan      html  css  js  c++  java
  • Quartz 2D 图形上下文栈 矩阵 裁剪

    Quartz 2D 图形上下文栈  矩阵

     1 //
     2 //  DJVIew.m
     3 //  图形上下文栈
     4 //
     5 //  Created by zjj on 15/6/30.
     6 //  Copyright (c) 2015年 zjj. All rights reserved.
     7 //
     8 
     9 #import "DJVIew.h"
    10 
    11 @implementation DJVIew
    12 
    13 - (void)drawRect:(CGRect)rect
    14 {
    15     CGContextRef ref = UIGraphicsGetCurrentContext();
    16     // 将ref(当前图形上下文)拷贝一份放入图形上下文栈里
    17     CGContextSaveGState(ref);
    18     //矩阵操作 旋转
    19     CGContextRotateCTM(ref, M_PI_4*0.3);
    20     // 矩阵操作 界面上所有图案缩放
    21     CGContextScaleCTM(ref, 0.5, 0.5);
    22     //矩阵操作 平移
    23     CGContextTranslateCTM(ref, 100, 100);
    24     // 设置绘图状态
    25     [[UIColor redColor]set];
    26     CGContextSetLineWidth(ref, 10);
    27     CGContextSetLineCap(ref, kCGLineCapRound);
    28     
    29     CGContextMoveToPoint(ref, 20, 35);
    30     CGContextAddLineToPoint(ref, 88, 195);
    31     CGContextAddEllipseInRect(ref, CGRectMake(100, 100, 100, 100));//
    32     CGContextAddArc(ref,200, 200, 150, 0, M_PI*2, 0);//
    33     CGContextStrokePath(ref);
    34 //    // 设置绘图状态
    35 //    [[UIColor blackColor]set];
    36 //    CGContextSetLineWidth(ref, 1);
    37 //    CGContextSetLineCap(ref, kCGLineCapButt);
    38     // 将栈顶上下文出栈替换当前上下文
    39     CGContextRestoreGState(ref);
    40 
    41     CGContextAddRect(ref, CGRectMake(200, 200, 88, 88));//
    42     CGContextMoveToPoint(ref, 10, 50);
    43     CGContextAddLineToPoint(ref, 266, 225);
    44     CGContextStrokePath(ref);
    45 }
    46 
    47 @end

     裁剪 如:任意图片裁剪为圆形头像等

     

  • 相关阅读:
    Rsync企业实战之自动异地备份(转)
    Linux启动过程详解 (转)
    Linux系统下修改环境变量PATH路径的三种方法
    linux更改启动级别后,无法启动的问题解决
    MySQLAdmin用法
    mysql toolkit 用法[备忘] (转)
    mysql edit
    MySQL中SSL配置
    mysql ALTER COLUMN MODIFY COLUMN CHANGE COLUMN 区别及用法 (转)
    MySQL 使用mysqld_multi部署单机多实例详细过程 (转)
  • 原文地址:https://www.cnblogs.com/zhangdashao/p/4609282.html
Copyright © 2011-2022 走看看