一 Canvas的定义:
The Canvas class holds the "draw" calls. To draw something, you need 4 basic components: A Bitmap to hold the pixels, a Canvas to host the draw calls (writing into the bitmap), a drawing primitive (e.g. Rect, Path, text, Bitmap), and a paint (to describe the colors and styles for the drawing).
翻译:
Canvas类保存“draw”调用。要绘制某些内容,需要4个基本组件:一个用于保存像素的位图【即bitmap】、一个用于承载绘制调用的画布(写入位图)【画布即canvas】、一个绘图源(例如rect、path、text、bitmap)和一个画笔(描述绘图的颜色和样式)【即paint】。
二 canvas 带参构造函数:
public Canvas (Bitmap bitmap)
说明:构造一个带有给定bitmap的画布,画东西到bitmap里面去,这个bitmap必须是可变的。画布的初始密度和给定的bitmap的密度一致。
三 canvas 和 bitmap关系
我们画的东西都是存放在指定的Bitmap上的。canvas只是起到一个中介的作用,它承载了画的方法(比如drawLine,drawCircle等) 会画线 画圆保存到bitmap中
四 基本操作:
// 创建一个指定大小的bitmap 用于保存 canvas 绘制的一系列操作
Bitmap bitmap = Bitmap.createBitmap(100, 100, Bitmap.Config.RGB_565);
// 将bitmap 设置给canvas
Canvas canvas = new Canvas(bitmap);
// 执行canvas 绘制颜色的操作 【会保存到创建的bitmap中】
canvas.drawColor(mContext.getResources().getColor(R.color.read_bg_1));
// 将保存结果展示出来
mImageView.setImageBitmap(bitmap);