Quartz 2D 画图(刷帧动画)

自定义view的.m文件中写

#import "KKView.h"

@interface KKView()
/** 图片的y值 */
@property (nonatomic, assign) CGFloat imgY;

@end

@implementation KKView

- (void)awakeFromNib{
      // 创建CADisplayLink, 默认每秒60次      CADisplayLink *display = [CADisplayLink displayLinkWithTarget:self selector:@selector(updataImage)];
      // 将CADisplayLink加入到消息循环中
      [display addToRunLoop:[NSRunLoop mainRunLoop] forMode:NSDefaultRunLoopMode];

}
- (void)updataImage{
    // 这里会掉用drawRect方法
    [self setNeedsDisplay];
}

- (void)drawRect:(CGRect)rect {

    CGContextRef ctx = UIGraphicsGetCurrentContext();

    CGContextClearRect(ctx, rect);

    CGImageRef img = [UIImage imageNamed:@"snow"].CGImage;

    CGRect imgRect;

    if (_imgY>rect.size.height) {
        _imgY = 0;
    }

    _imgY+=1;
    imgRect.origin.y = _imgY;
    imgRect.origin.x = 0;
    imgRect.size = CGSizeMake(50, 50);

    CGContextDrawImage(ctx, imgRect, img);
}

@end
时间: 2024-10-13 09:51:20

Quartz 2D 画图(刷帧动画)的相关文章

iOS刷帧动画

1 @implementation NJView 2 3 /* 4 -(void)awakeFromNib 5 { 6 7 NSLog(@"awakeFromNib"); 8 // 创建CADisplayLink, 默认每秒60次 9 CADisplayLink *display = [CADisplayLink displayLinkWithTarget:self selector:@selector(updataImage)]; 10 // 将CADisplayLink加入到消息循

unity2d之2d帧动画创建

在2d游戏中帧动画的应用是非常广泛的,那么如何在unity中创建一个帧动画,主要是下面几个步骤. 原文地址  :http://blog.csdn.net/dingkun520wy/article/details/50936133 一,导入图片 把美术给的动画图片导入unity,并把图片属性设置成下图中的属性 二,创建动画 选择要生成动画的图片拖拽到场景中,这时会弹出保存动画对话框,保存到指定的位置. 创建完成后可在Animation下修改动画的播放速度,和每帧的图,添加帧等操作. 美术给了一堆图

绘图与滤镜全面解析--Quartz 2D 、Core Image

绘图与滤镜全面解析 概述 在iOS中可以很容易的开发出绚丽的界面效果,一方面得益于成功系统的设计,另一方面得益于它强大的开发框架.今天我们将围绕iOS中两大图形.图像绘图框架进行介绍:Quartz 2D绘制2D图形和Core Image中强大的滤镜功能. Quartz 2D 基本图形绘制 视图刷新 其他图形上下文 Core Image Quartz 2D 在iOS中常用的绘图框架就是Quartz 2D,Quartz 2D是Core Graphics框架的一部分,是一个强大的二维图像绘制引擎.Qu

iOS开发——图形编程OC篇&(五)Quartz 2D高级使用(一)

Quartz2D高级使用 一.qurza2d是怎么将绘图信息和绘图的属性绘制到图形上下文中去的? 说明: 新建一个项目,自定义一个view类和storyboard关联后,重写该类中的drowrect方法. 画线的三个步骤: (1)获取上下文 (2)绘图 (3)渲染 要求:画两条单独的线 代码和效果图: 1 - (void)drawRect:(CGRect)rect 2 { 3 //获取上下文 4 CGContextRef ctx=UIGraphicsGetCurrentContext(); 5

IOS开发—Quartz 2D介绍

Quartz 2D学习记录 Quartz 2D简单介绍 一.什么是Quartz 2D Quarz 2D是一个二维绘画引擎,同时支持ios和mac,其API是Core Graphics框架的,是纯C语言的.IOS系统提供的大部分控件的内容都是通过Quartz 2D画出来的,因此Quartz 2D的一个很重要的价值是:自定义view(自定义UI控件). 二.一个重要的概念:图形上下文 图形上下文(Graphics context)是一个CGContextRef数据,其作用是: 保存绘图信息.绘图属性

Esfog_UnityShader教程_逐帧动画

有段日子没出这个系列的新文章了,今天就拿一个比较常见也比较基础的利用改变Shader来改变不断调整UV实现播放逐帧动画的小功能.很久没写了就当练练手了.在新版本的Unity中早就已经集成了Sprite2D的功能,而且可以编辑不规则的图形,不过了解一下它的原理,也是蛮好的! 逐帧动画 帧动画大家应该都不陌生,经常会看到把一个动画几帧的的状态按一定顺序整合在同一张图片上,如下图: 从上图中我们可以看出,这个图片动画一共有20帧,从左到右,从上到下依次排布(基本上都是这个规律).为了展示效果我们需要一

iOS 开发 Quartz 2D+ UIBezierPath绘图大全详解

Quartz 2D 使用大全结构图 UIKIt UIBezierPath Core Graphics OpenGL ES Quartz2D的区别和联系 UIKIt:UIKit中的控件都是基于Core Graphics实现的 UIBezierPath:UIBezierPath属于UIKit,它是苹果对复杂的Core Graphics进行的封装,方便我们用OC语言进行简单的绘图 Core Graphics:是一套基于C语言的API,支持向量图形,线.形状.图案.路径.剃度.位图图像和pdf 内容的绘

1.0 Quartz 2D简介

Quartz2D须知: (1)Quartz 2D是苹果官方的二维绘图引擎,同时支持iOS和Mac OS X系统(跨平台,纯 C 语言的) (2)Quartz2D的API是纯C语言的 (3)Quartz2D的API来自于Core Graphics框架         (4)数据类型和函数基本都以CG作为前缀 CGContextRef —— 图形上下文(相当于一个草稿纸) CGPathRef  ——— 图形路径 CGContextStrokePath(cox);   ——— 渲染 Quartz2D 

Qt移动应用开发(三):使用精灵图片实现帧动画

Qt移动应用开发(三):使用精灵图片实现帧动画 上一篇博文讲到了Qt Quick对于动画的一般支持,动画的形式多样,配合不同的插值函数,可以几乎实现所有想要的动画效果,而对于游戏的一些特殊的效果比如说帧动画,Qt更是有专门的类来实现.下面我们就来看看Qt Quick中究竟是对帧动画是如何实现的吧. 原创文章,反对未声明的引用.原博客地址:http://blog.csdn.net/gamesdev/article/details/33743527 一般2D的游戏引擎都将帧动画作为一项非常重要的功能