文档章节

Canvas 绘图

TedYin
 TedYin
发布于 2014/04/27 11:06
字数 412
阅读 1655
收藏 3
点赞 0
评论 0

在最近的项目中有好几个地方都用到了自定义的ProgressBar

分享并记录一下:

    先介绍一下Canva、Paint、RectXX、 Bitmap、Drawable之间的关系:

    Canvas:封装了多种绘图所用的方法,他就相当于一个图形画法的集合,你需要画什么图形调用相应的drawXXX()方法就可以实现。他除了封装了画图方法还封装了对图片进行裁剪的clipXXX()方法。

    Paint:现在有了画图的方法集合,也就是有了画图的技术说明,那怎么去实际去画这个图呢?现在就需要一个大师傅进行操刀进行画图,这个实际进行绘画的人就是Paint,每个师傅有他各自的特点,有的刀工好,有的刻花好,TextPaint就是写字比较好。

    RectXX:这个类族的作用就是为大师傅提供一个施展才华的舞台,android使用Canvas提供的方法,请Paint在RectXX上进行绘画,得到的结果就存储在一个内存空间里,这个空间就是一个Bitmap

   Drawable:上述的操作都是在内存中进行的,是看不见的,而Drawable就是一个真实接口,他将上述内存中的影封装起来提供给外界来展示,它将上述三者的结果表现出来。

    说完上述几者之间的关系,下面说说在画图时的坐标问题:

    如下图所示:

    Canvas绘图时的坐标原点也是在左上角。

    好了关于Canvas绘图等之间的关系就先介绍到这里。






© 著作权归作者所有

共有 人打赏支持
TedYin
粉丝 1
博文 20
码字总数 10592
作品 0
深圳
程序员
《WebGL编程指南》学习笔记——2.WebGL概述

上一节初步认识了WebGL,这一小节我们来开始学习使用< canvas >元素绘制二维图形 下小节我们正式开始学习如何在< canvas >中使用WebGL WebGL采用HTML5中新引入的元素,它定义了网页上的绘图区...

hushhw
2017/12/16
0
0
《WebGL编程指南》学习笔记——3.在Canvas中使用WebGL

《WebGL编程指南》学习笔记——2.在Canvas中使用WebGL 上一节学习了使用< canvas >元素绘制二维图形,这一节里面我们在< canvas >中使用WebGL 下小节我们正式开始学习如何在< canvas >中使用...

hushhw
2017/12/19
0
0
《WebGL编程指南》学习笔记——2.使用元素

《WebGL编程指南》学习笔记——2.使用< canvas >元素 上一节初步认识了WebGL,这一小节我们来开始学习使用< canvas >元素绘制二维图形 WebGL编程指南学习笔记2使用 canvas 元素 下小节我们正...

hushhw
2017/12/16
0
0
canvas 学习笔记

由于公司业务需要,要用canvas,实现一些比较炫酷的效果,所以这段时间领导让学canvas,正好个人想用canvas做个网站宠物,给以后自己的个人博客用,所以两全其美,就开始了。 需要的基础知识...

起什么name呢
2016/04/23
93
0
使用excanvas时的常见问题

HTML5标准已经发布一段时间了,新标准中强大的绘图能力和嵌入多媒体能力备受关注,canvas标签无疑是HTML5的一大招牌。IE6、7、 8原本不支持canvas标签,google提供了一个有效的解决方法Explo...

红薯
2011/11/05
2.1K
0
android学习笔记——SurfaceView 的理解

SurfaceView 的概念和用途 surfaceview是view的一个子类,可以直接从内存或者DMA等硬件接口中取得图像数据,是一个非常重要的绘图视图。他的特性是:可以在主线程之外的线程中向屏幕绘图,这...

小白杨啦啦
2016/04/30
39
0
android中,用list记录画笔轨迹(想实现播放绘图功能),点击绘图,可以一次性将记录的轨迹画出,但是如果让轨迹一点一点画,就是断断续续,代码附上,请大神速来赐教

代码: public class MainActivity extends Activity { private Button currentDraw = null ; private Button playDraw = null ; //用于呈现所画图形 private SurfaceView view = null ; //......

八爷
2014/01/26
932
0
Web 开发中的矢量绘图处理和应用

矢量绘图一直是 Web 开发中一直比较薄弱的环节。本文首先针对不同浏览器详细阐述不同的矢量绘图解决方案,其中包括 HTML5 Canvas、SVG 以及 VML 等技术;之后针对每种不同的技术介绍其实现和...

IBMdW
2011/09/03
1K
0
Android ApiDemos示例解析:Graphics->Layers

Canvas 在一般的情况下可以看作是一张画布,所有的绘图操作如drawBitmap, drawCircle都发生在这张画布上,这张画板还定义了一些属性比如Matrix,颜色等等。 但是如果需要实现一些相对复杂的绘...

JavaGG
2011/11/08
867
0
Android:SurfaceView 的使用(附代码模板)

前言 摘自《Android群英传》 Android提供了View进行绘图处理,View可以满足大部分的绘图需求,但在某些时候也会心有余而力不足。我们知道,View通过刷新来重绘视图,Android 系统通过发出VSY...

涤生_Woo
2017/05/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Docker Mac (三) Dockerfile 及命令

Dockerfile 最近学习docker的时候,遇到一件怪事,关于docker镜像可能会被破坏,还不知道它会有此措施 所以需要了解构建Dockerfile的正确方法 Dockerfile是由一系列命令和参数构成的脚本,这些命...

___大侠
24分钟前
0
0
NetCat Tutorials

Hacking with Netcat part 1: The Basics Hacking with Netcat part 2: Bind and reverse shells Hacking with Netcat part 3: Advanced Techniques 10 Introduction to Netcat - pdf NetCat......

zungyiu
24分钟前
0
0
Android Studio+NDK+Cmake 移植FFmpeg-4.0.2命令行工具

一、编译 参考大神的帖子,亲测一次编译成功:https://blog.csdn.net/bobcat_kay/article/details/80889398 鉴于以前查文档的经验,这里附上编写例子的时间:2018年7月22日 我用的是ubantu,...

她叫我小渝
24分钟前
0
0
mysql创建数据库

登录MYSQL mysql -u root -p 脚本创建数据库WeChat,并制定默认的字符集是utf8mb4。 CREATE DATABASE Wechat DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_general_ci; 授权 grant all......

niithub
39分钟前
0
0
svn: Unable to connect to a repository URL 的解决方案

错误图示: 解决办法:清除本地保存的授权信息; 1:右键点击本地文件夹,选择设置; TortoiseSVN -> Settings 2:在弹出的对话框中选择 Saved Data, 右侧选择:授权地方清理所有。 然后点确...

宁哥实战课堂
今天
1
0
sleep与wait的区别

Thread.sleep(XXX)方法消耗CPU吗? 这个知识点是我之前认识一直有错误的一个知识点,在我以前的认识里面,我一直认为Thread.sleep(1000)的这一秒钟的时间内,线程的休眠是一直占用着CPU的时间...

码代码的小司机
今天
1
0
20位活跃在Github上的国内技术大牛 leij 何小鹏 亚信

本文列举了20位在Github上非常活跃的国内大牛,看看其中是不是很多熟悉的面孔? 1. lifesinger(玉伯) Github主页: https://github.com/lifesinger 微博:@ 玉伯也叫射雕 玉伯(王保平),...

海博1600
今天
1
0
Mybatis收集配置

一、Mybatis取Clob数据 1、Mapper.xml配置 <resultMap type="com.test.User" id="user"> <result column="id" property="id"/> <result column="json_data" property="jsonData" ......

星痕2018
今天
1
0
centos7设置以多用户模式启动

1、旧版本linux系统修改inittab文件,在新版本执行vi /etc/inittab 会有以下提示 # inittab is no longer used when using systemd. # # ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON......

haha360
今天
1
0
OSChina 周日乱弹 —— 局长:怕你不爱我

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @ andonny :分享周二珂的单曲《孤独她呀》 《孤独她呀》- 周二珂 手机党少年们想听歌,请使劲儿戳(这里) @孤星闵月 :没事干,看一遍红楼梦...

小小编辑
今天
395
12

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部