涂料动漫学习笔记(一)

1、 处理图形和动画的框架

UIKit

高级别框架,开发商同意建立一个视图、形式、button和别的UI相关的组件。它还将一些低级别的API引入到易于使用的高级别API中

Quartz 2D

iOS上画图的主要引擎;UIKit就使用Quartz。

Core Graphics

它支持图形上下文、载入图像、绘制图像。等等。

Core Animation

顾名思义,是一个帮助开发人员在IOS上实现动画的框架

2、 UIColor的set方法可设置Graphical context的颜色

- (void)drawRect:(CGRect)rect {
UIColor *magentaColor = [UIColor colorWithRed:0.5f green:0.0f blue:0.5f alpha:1.0f];
[magentaColor set];
UIFont *helvetivaBold = [UIFont boldSystemFontOfSize:30];
NSString *myString = @”I Learn Really Fast”;
[myString drawInRect:CGRectMake(100,120,100,200) withFont:helvetivaBold ];
}

3、 使用CGColorGetComponents函数能够获取组成颜色对象的各个分量

4、 使用CGColorGetNumberOfComponents能够获取组成该颜色的颜色分量的数量

5、 绘制图片有

a) drawAtPoint:UIImage的实例方法

b) drawInRect:UIImage的实例方法

6、 绘制线条的步骤

1)、为图形上下文选择一个颜色

2)、使用UIGraphicsGetCurrentContext函数获取图形上下文的句柄

3)、使用CGContextMoveToPoint过程设置线条的起点

4)、使用CGContextAddLineToPoint过程在图形上下文移动你的画笔来指定线条的终点

5)、使用CGContextStrokePath过程创建你已设定好的路径。此过程将使用图形上下文已经设置好的当前颜色来绘制路径

[[UIColor blueColor] set];

CGContextRef  context = UIGraphicsGetCurrentContext();

CGContextSetLineWidth(context, 5.0);

CGContextMoveToPoint(context, 50, 160);

CGContextAddLineToPoint(context, 150, 160);

CGContextAddLineToPoint(context, 150, 260);

CGContextAddLineToPoint(context, 50, 260);

CGContextAddLineToPoint(context, 50, 160);

CGContextSetLineJoin(context, kCGLineJoinBevel);

CGContextStrokePath(context);

7、 能够使用CGContextSetLineJoin来设置线与线连接点的样式

kCGLineJoinMiter

尖角的连接样式,这是默认的样式。

kCGLineJoinBevel

连接的拐角处是平角。

kCGLineJoinRound

就如字面意思。连接处为圆形。

8、 绘制路径

CGPathCreateMutable函数

创建一个类型为CGMutablePathRef的可变路径。并返回其句柄。每次使用完这个路径,我们都应该为它做善后工作。非常快你就会看到。

CGPathMoveToPoint 过程

在路径上移动当前画笔的位置到一个点,这个点由CGPoint类型的參数指定。

CGPathAddLineToPoint过程

从当前的画笔位置向指定位置(相同的由CGPoint类型的值指定)绘制线段。

CGContextAddPath 过程

加入一个路径到图形上下文。准备用于画图。

CGContextDrawPath 过程

在图形上下文中绘制给出的路径

CGPathRelease 过程

释放为路径句柄分配的内存

9、 绘制路径时的几种颜色填充

kCGPathStroke

使用当前选定的描边颜色为路径描边

kCGPathFill

使用当前选定的填充颜色填充路径所包围的区域

kCGPathFillStroke

组合描边和填充。使用当前选定的填充颜色填充路径,使用选定的描边颜色绘制路径边缘。

版权声明:本文博主原创文章。博客,未经同意不得转载。

时间: 2024-11-05 05:28:24

涂料动漫学习笔记(一)的相关文章

Silverlight动画学习笔记(三):缓动函数

(一)定义: 缓动函数:可以将自定义算术公式应用于动画 (二)为什么要用缓动函数: 您可能希望某一对象逼真地弹回或其行为像弹簧一样.您可以使用关键帧动画甚至 From/To/By 动画来大致模拟这些效果,但可能需要执行大量的工作,并且与使用算术公式相比动画的精确性将降低. (三)实例讲解: 1 <UserControl x:Class="AnimationStudy.EasingFunctionAnimation" 2 xmlns="http://schemas.mic

初探swift语言的学习笔记六(ARC-自动引用计数,内存管理)

Swift使用自动引用计数(ARC)来管理应用程序的内存使用.这表示内存管理已经是Swift的一部分,在大多数情况下,你并不需要考虑内存的管理.当实例并不再被需要时,ARC会自动释放这些实例所使用的内存. 另外需要注意的: 引用计数仅仅作用于类实例上.结构和枚举是值类型,而非引用类型,所以不能被引用存储和传递. swift的ARC工作过程 每当创建一个类的实例,ARC分配一个内存块来存储这个实例的信息,包含了类型信息和实例的属性值信息. 另外当实例不再被使用时,ARC会释放实例所占用的内存,这些

嵌入式学习笔记201-Linux kernel动起来

在前篇博文<嵌入式学习笔记200-Linux kernel初体验>在已经确保环境编译是ok的,接下来让kernel能够最基本的动起来,起码可以看到基本的启动打印! 修改外部输入时钟频率, 修改 linux-2.6.30.4\arch\arm\mach-s3c2440\mach-smdk2440.c 在大概163行将16934400改成12000000. static void __init smdk2440_map_io(void) { s3c24xx_init_io(smdk2440_iod

SuperSocket框架学习笔记1-启动服务器

SuperSocket 是一个轻量级的可扩展的 Socket 开发框架,可用来构建一个服务器端 Socket 程序,而无需了解如何使用 Socket,如何维护Socket连接,Socket是如何工作的.该项目使用纯 C# 开发,易于扩展和集成到已有的项目.只要你的已有系统是使用.NET开发的,你都能够使用 SuperSocket来轻易的开发出你需要的Socket应用程序来集成到你的现有系统之中. 下载地址:http://www.supersocket.net/ 1,新建一个控制台应用程序,.NE

Docker 学习笔记【1】Docker 相关概念,基本操作

计划:Docker 学习笔记[2] Docker 基础操作实操记录,Docker仓库.数据卷,网络基础学习---40 注:所有操作在root下执行 --1--概念: 1.Docker镜像: 镜像就是一个只读的模板,用于创建docker容器. Docker提供了简单的机制创建或者更新现有镜像,也可以从别处拿来现成镜像直接使用. 2.Docker容器: 可以认为是精简版的linux运行环境包含 [root权限,进程空间,用户空间,网络空间等]和应用程序 另外:镜像是只读的,容器基于镜像启动后创建一层

【转】TCP/IP详解学习笔记(二)

TCP/IP详解学习笔记(5)-IP选路,动态选路,和一些细节 1.静态IP选路 1.1.一个简单的路由表 选路是IP层最重要的一个功能之一.前面的部分已经简单的讲过路由器是通过何种规则来根据IP数据包的IP地址来选择路由.这里就不重复了.首先来看看一个简单的系统路由表. Destination     Gateway         Genmask         Flags Metric Ref    Use Iface192.168.11.0    *               255.

java JDK8 学习笔记——第16章 整合数据库

第十六章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API中的接口会有数据库厂商操作,称为JDBC驱动程序. 2.JDBC标准主要分为两个部分:JDBC应用程序开发者接口和JDBC驱动程序开发者接口.应用程序需要联机数据库,其相关API主要在java.sql和javax.sql两个包中. 3.应用程序使用JDBC联机数据库的通用语法: Connection conn = DriverManager.g

&lt;老友记&gt;学习笔记

这是六个人的故事,从不服输而又有强烈控制欲的monica,未经世事的千金大小姐rachel,正直又专情的ross,幽默风趣的chandle,古怪迷人的phoebe,花心天真的joey——六个好友之间的情路坎坷,事业成败和生活中的喜怒哀乐,无时无刻不牵动着彼此的心,而正是正平凡的点点滴滴,却成为最令人感动与留恋的东西. 人物:1.瑞秋•格林(RACHEL GREENE)由珍妮佛•安妮斯顿(Jennifer Aniston)扮演 瑞秋是莫妮卡的高中同学,在与牙医未婚夫的婚礼上脱逃至莫妮卡处. 2.罗

Android学习笔记(十八):ListView和RatingBar

在学习笔记(十七)中,我们对ListView做了进一步的探讨,然而给出的例子list中的元素可以有多个widget,并可灵活设置他们的值,但是这些widget之间缺乏互动,而且getView()的调用,需要重刷给list的entry,我们希望能够在entry中触发变化. 本次,我们继续根据<Beginging Android 2>的学习,结合RatingBar,将程序稍微复杂一点.RatingBar看用于媒体库的平级,我们用RatingBar取代了之前例子的图标,当RatingBar设置为三星