Quartz 2D 图形上下文栈  矩阵

 //
// DJVIew.m
// 图形上下文栈
//
// Created by zjj on 15/6/30.
// Copyright (c) 2015年 zjj. All rights reserved.
// #import "DJVIew.h" @implementation DJVIew - (void)drawRect:(CGRect)rect
{
CGContextRef ref = UIGraphicsGetCurrentContext();
// 将ref(当前图形上下文)拷贝一份放入图形上下文栈里
CGContextSaveGState(ref);
//矩阵操作 旋转
CGContextRotateCTM(ref, M_PI_4*0.3);
// 矩阵操作 界面上所有图案缩放
CGContextScaleCTM(ref, 0.5, 0.5);
//矩阵操作 平移
CGContextTranslateCTM(ref, , );
// 设置绘图状态
[[UIColor redColor]set];
CGContextSetLineWidth(ref, );
CGContextSetLineCap(ref, kCGLineCapRound); CGContextMoveToPoint(ref, , );
CGContextAddLineToPoint(ref, , );
CGContextAddEllipseInRect(ref, CGRectMake(, , , ));//圆
CGContextAddArc(ref,, , , , M_PI*, );//圆
CGContextStrokePath(ref);
// // 设置绘图状态
// [[UIColor blackColor]set];
// CGContextSetLineWidth(ref, 1);
// CGContextSetLineCap(ref, kCGLineCapButt);
// 将栈顶上下文出栈替换当前上下文
CGContextRestoreGState(ref); CGContextAddRect(ref, CGRectMake(, , , ));//方
CGContextMoveToPoint(ref, , );
CGContextAddLineToPoint(ref, , );
CGContextStrokePath(ref);
} @end

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

Quartz 2D 图形上下文栈 矩阵 裁剪的更多相关文章

  1. iOS开发UI篇—Quartz2D使用(图形上下文栈)

    iOS开发UI篇—Quartz2D使用(图形上下文栈) 一.qurza2d是怎么将绘图信息和绘图的属性绘制到图形上下文中去的? 说明: 新建一个项目,自定义一个view类和storyboard关联后, ...

  2. iOS开发UI篇—Quartz2D使用(图形上下文栈

    转自:http://www.cnblogs.com/wendingding/p/3782489.html 一.qurza2d是怎么将绘图信息和绘图的属性绘制到图形上下文中去的? 说明: 新建一个项目, ...

  3. AJ学IOS(31)UI之Quartz2D图形上下文栈

    AJ分享,必须精品 首先,前面博客说过.qurza2d的上下文中有绘图信息和绘图的属性. 但是他是怎么绘制到上下午中的呢? 我们画图时候一半会用这三个步骤: (1)获取上下文 (2)绘图 (3)渲染 ...

  4. IOS 图形上下文栈

    - (void)drawRect:(CGRect)rect { // 获取上下文 CGContextRef ctx = UIGraphicsGetCurrentContext(); // 保存一份最纯 ...

  5. Quartz 2D 初步

    转载自:http://www.cofcool.net/development/2015/06/17/ios-study-note-six-Quartz2D/ Quartz 2D是一个二维绘图引擎,同时 ...

  6. iOS - Quartz 2D 二维绘图

    1.Quartz 2D 简介 Quartz 2D 属于 Core Graphics(所以大多数相关方法的都是以 CG 开头),是 iOS/Mac OSX 提供的在内核之上的强大的 2D 绘图引擎,并且 ...

  7. 【ios系列】-Quartz 2D常用方法介绍

    Quartz 2D基本介绍 Quartz 2D是一个二维绘图引擎 能够,绘制图形 : 线条\三角形\矩形\圆\弧等,绘制文字,绘制\生成图片(图像),读取\生成PDF,截图\裁剪图片,自定义UI控件( ...

  8. Quart2D图形上下文

    学习了下绘制文本图形后,下面学习图形上下文栈. 在Quart 2D绘制简单图形http://www.cnblogs.com/cuiyw/p/4401857.html时,如果绘制不一样属性的内容时,在渲 ...

  9. 【iOS】Quartz2D图形上下文

      一.绘图的完整过程 程序启动,显示自定义的view.当程序第一次显示在我们眼前的时候,程序会调用drawRect:方法,在里面获取了图形上下文(在内存中拥有了),然后利用图形上下文保存绘图信息,可 ...

随机推荐

  1. C++——类继承

    类库:类库由类声明和实现构成.类组合了数据表示和类方法,因此提供了比函数库更加完整的程序包. 类继承:从已有的类派生出新的类,派生类继承了原有类(称为基类)的特征,包括方法. 通过类继承可以完成的工作 ...

  2. Android 热修复Nuwa的原理及Gradle插件源码解析

    现在,热修复的具体实现方案开源的也有很多,原理也大同小异,本篇文章以Nuwa为例,深入剖析.  Nuwa的github地址 https://github.com/jasonross/Nuwa 以及用于 ...

  3. @requestBody注解的使用

    1.@requestBody注解常用来处理content-type不是默认的application/x-www-form-urlcoded编码的内容,比如说:application/json或者是ap ...

  4. HBase启动和停止命令

    启动HBase集群: bin/start-hbase.sh 单独启动一个HMaster进程: bin/hbase-daemon.sh start master 单独停止一个HMaster进程: bin ...

  5. javascript强制转换详解

    转换成数值 Number函数强制转换成数值 数值->转换成原来的值 字符串->如果可以解析为数值,则转换成数值:否则转换成NaN或者0 true->1,falSe->0 und ...

  6. Nodejs 配置+基础

    Nodejs + NPP 配置. http://blog.csdn.net/foruok/article/details/48366765 NPM的全称是Node Package Manager,它就 ...

  7. Google V8扩展利器发布:v8-native-binding-generator

    用C++扩展Google V8很简单,但是类比较多时还是很烦的.前段时间开发cantk-runtime-v8时,我写了一个代码产生器v8-native-binding-generator,让扩展Goo ...

  8. JUnit org.junit.runner.Request.classWithoutSuiteMethod解决方法

    欢迎和大家交流技术相关问题: 邮箱: jiangxinnju@163.com 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://g ...

  9. 能源项目xml文件标签释义--CommonsMultipartResolver

    <!-- 文件上传表单的视图解析器 --><bean id="multipartResolver" class="org.springframework ...

  10. P92认识对话框

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...