Quartz2D-二维画图引擎 、自己定义UI控件
//
// MyDraw.m
// 绘图 #import "MyDraw.h" @implementation MyDraw //Quartz2D 是一个二维绘图引擎
//自己定义UI控件
//裁剪图片 - (void)drawRect:(CGRect)rect { draw4Rect();
//drawTriangle(); } void draw4Rect()
{
//获得图形上下文
CGContextRef ctx = UIGraphicsGetCurrentContext(); //绘图形
CGContextAddRect(ctx, CGRectMake(10, 10, 100, 100)); //绘制图形
//CGContextStrokePath(ctx); //设置主要的颜色
CGContextSetRGBFillColor(ctx, 0, 0, 1, 1); //结合UI 能够更简单的设置颜色
[[UIColor redColor]setFill]; //set :同一时候设置实心 空心颜色
//setStroke 设置空心颜色
// setFill 设置实心颜色
[[UIColor whiteColor]set]; //实的图形
CGContextFillPath(ctx);
}
void drawTriangle()
{ // Drawing code
//1.获得图形上下文
CGContextRef ctx = UIGraphicsGetCurrentContext(); //设置头尾部样式
CGContextSetLineCap(ctx, kCGLineCapRound); //2.拼接图形
CGContextMoveToPoint(ctx, 10, 10); //加入一条线段到
CGContextAddLineToPoint(ctx, 100, 100); //设置转折点的样式
//CGContextSetLineJoin(ctx, kCGLineJoinBevel);
CGContextSetLineJoin(ctx, kCGLineJoinRound); CGContextMoveToPoint(ctx, 200, 190); CGContextAddLineToPoint(ctx, 150, 40);
CGContextAddLineToPoint(ctx, 110, 60);
//设置线条的宽度 CGContextSetLineWidth(ctx, 10); //设置颜色
CGContextSetRGBStrokeColor(ctx, 1, 0, 0, 1); //CGContextAddLineToPoint(ctx, 10, 10); //连接起点和终点
//CGContextClosePath(ctx);
//CGContextMoveToPoint(ctx, 20, 20); //3.渲染显示到view 上面
//以空心的形式画出来
CGContextStrokePath(ctx);//仅仅记录当前的颜色状态 我们要是向让两根线条不一样
//那么我们须要渲染两次
//分开几个图形 多渲染几次就能够了 } //设置颜色 @end
Quartz2D-二维画图引擎 、自己定义UI控件的更多相关文章
- Quartz2D二维画图引擎
Quartz2D二维画图引擎 这个二维画图引擎的功能很强大 一般苹果公司xcode 提供给我们的一些UI控件不能满足我们的需求 所以我们会自己定义控件 xcode 提供的全部控件都是由这个画图引擎画出 ...
- Agg vs. Cairo 二维绘图引擎之比较和选择 .
Agg vs. Cairo 二维绘图引擎之比较和选择 cheungmine 当今时代对于作为二维图形软件开发者, 是幸运的.因为除了Windows GDI/GDI+之外,我们还有很多其他的选择.而且这 ...
- 微信二维码引擎OpenCV开源研究
<微信二维码引擎OpenCV开源研究> 一.编译和Test测试 opencv_wechat_qrcode的编译需要同时下载opencv(https://github.com/ ...
- grootJS ui控件定义
index13.html <html><head> <title>ui控件定义</title> <script src="jquery- ...
- AppleWatch___学习笔记(二)UI布局和UI控件
1.UI布局 直接开发,你会发现Apple Watch并不支持AutoLayout,WatchKit里有个类叫做WKInterfaceGroup,乍一看像是UIView,但是这货其实是用来布局的.从 ...
- 《深入理解Windows Phone 8.1 UI控件编程》基于最新的Runtime框架
<深入理解Windows Phone 8.1 UI控件编程>本书基于最新的Windows Phone 8.1 Runtime SDK编写,全面深入地论述了最酷的UI编程技术:实现复杂炫酷的 ...
- 【Unity】8.1 Unity内置的UI控件
分类:Unity.C#.VS2015 创建日期:2016-04-27 一.简介 Unity 5.x内置了-套完整的GUI系统,提供了从布局.控件到皮肤的-整套GUI解决方案,因此可直接利用它做出各种风 ...
- Silverlight项目笔记1:UI控件与布局、MVVM、数据绑定、await/async、Linq查询、WCF RIA Services、序列化、委托与事件
最近从技术支持转到开发岗,做Silverlight部分的开发,用的Prism+MVVM,框架由同事搭好,目前做的主要是功能实现,用到了一些东西,侧重于如何使用,总结如下 1.UI控件与布局 常用的主要 ...
- Android4.0 -- UI控件之 Menu 菜单的的使用(三)
上一讲 [Android 开发]:UI控件之 Menu 菜单的的使用(二) 我们讲解了创建上下文菜单的第一种使用方式:Creating a floating context menu [创建悬浮的上下 ...
随机推荐
- 快速排序之C++实现
快速排序之C++实现 一趟快速排序的算法是: 1)设置两个变量i.j,排序开始的时候:i=0,j=N-1: 2)以第一个数组元素作为关键数据,赋值给key,即key=A[0]: 3)从j开始向前搜索, ...
- Shell 学习笔记之运算符
基本运算符 算术运算符 val = expr 2 + 2 需要注意的是 表达式和运算符之间需要有空格(比如2 + 2,不能是2+2) 两边最外面的字符是`,在esc键下面,不是引号哦 乘号* 前面必须 ...
- HDU step by step
section 1 不解释~ section 2 1.2.1 a+b coming #include<stdio.h> long long z,x,y; int main( ) { whi ...
- .NET面试宝典-基础
经典.net面试题目 建议使用朗读女软件下载,边读边记. 1. 简述 private. protected. public. internal 修饰符的访问权限. 答 . private : 私有 ...
- 在WAMPSERVER下增加多版本的PHP(PHP5.3,PHP5.4,PHP5.5)完美支持。
WAMPServer可以让开发者在Windows系统下快速搭建WAMP环境,它支持多版本的Apache.MySQL.PHP之间的相互切换,互不影响,对于PHPer开发者来讲极为方便快速. 以下是在WA ...
- Map:HashMap和TreeMap
一.Map集合 特点:将键映射到值得对象 Map集合和Collection集合的区别? Collection:是单列集合,存储的是单独出现的元素 Map: 是双列集合,存储的是键值对形式 ...
- Tomcat启动异常 java.net.BindException: Cannot assign requested address: JVM_Bind
从Apache官网下载的tomcat7,在MyEclipse中启动时抛出如下异常: 严重: StandardServer.await: create[localhost:8005]: java.net ...
- make mrproper and make clean
make mrproper命令会删除所有的编译生成文件.内核配置文件(.config文件)和各种备份文件,所以几乎只在第一次执行内核编译前才用这条命令. make clean命令则是用于删除大多数的编 ...
- UVA LIVE-3263 - That Nice Euler Circuit
画一个顶点为偶数的封闭的二维图,当然.这个图能够自交,给出画的过程中的一些轨迹点.求出这个图把二次元分成了几部分,比如三角形把二次元分成了两部分. 这个的话,有图中顶点数+部分数-棱数=2的定律,这是 ...
- 模拟登陆CSDN——就是这么简单
工具介绍 本篇文章主要是解说怎样模拟登陆CSDN.使用的工具是HttpClient+Jsoup 当中HttpClient主要是负责发送请求,而Jsoup主要是解析HTML 你可能对HttpClient ...