码迷,mamicode.com
首页 > 移动开发 > 详细

Android自定义View学习笔记03

时间:2015-04-13 09:41:51      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:

Android自定义View学习笔记03

预备知识

BitMap

BitMap位图类,其中有一个嵌套类叫Bitmap.Config,内部有四个枚举值。这个类的作用是定义位图存储质量,即存储一个像素的位数,以及是否能显示透明、半透明颜色(Possible bitmap configurations. A bitmap configuration describes how pixels are stored. This affects the quality (color depth) as well as the ability to display transparent/translucent colors)。

A 透明度 R 红色 G 绿色 B 蓝色
Bitmap.Config ALPHA_8 只存储透明度,其他颜色不存储
Bitmap.Config ARGB_4444 16 每个像素 占四位
Bitmap.Config ARGB_8888 32 每个像素 占八位
Bitmap.Config RGB_565 16 R占5位 G占6位 B占5位 没有透明度(A)
参考博客

矩形类

  1. Rect类,通过定义四条(左、上、右、下)边来组成一个矩形。别扭的是,参数代表的是每条边距离x轴或者y轴的距离。
  2. RectF类,同上,不同的是Rect的参数类型的整形,带F的是单精度浮点数。另外Rect对象可以作为参数来构造RectF对象。

一个很重要的类BitmapShader位图渲染器

BitmapShader位图渲染器,用位图当做纹理来画图,通过设置模式来设置不同的渲染效果(Shader used to draw a bitmap as a texture. The bitmap can be repeated or mirrored by setting the tiling mode)。

  • 构造方法BitmapShader(Bitmap bitmap, Shader.TileMode tileX, Shader.TileMode tileY),参数分别是,当做纹理的位图、横轴方向的渲染方式、纵轴方向的渲染方式。
  • 有个嵌套类Shader.TileMode 瓦片模式,里面定义了三个枚举类型的变量。

CLAMP 如果渲染器超出了原始边界范围,会复制原始边界的颜色在范围外渲染。
REPEAT如果显示范围大于图片的大小,则会横向和纵向的重复渲染图片,进行平铺。
MIRROR和上一个类似,只不过是用镜像方式进行平铺。
一般用的时候会用第一个参数。

Paint

该类内有一个设置Shader渲染器对象的方法public Shader setShader(Shader shader)来设置渲染器。

Matrix矩阵类

Matrix内部存有一个3*3的矩阵,里面存有变形信息,没有构造函数。只能通过具体的方法来设置相关参数。这个矩阵被分为四部分,分别是比例旋转、平移、等比例变换、透视变换。运算原理就是矩阵的变换,参考Android Matrix理论与应用详解
- 设置缩放的方法public void setScale(float sx,float sy),参数是水平缩放比例和竖直缩放比例。

未完

Android自定义View学习笔记03

标签:

原文地址:http://blog.csdn.net/u012123160/article/details/45013391

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!