From b3377a8e9ccf2c8fc3b3b24bced2193bca186d83 Mon Sep 17 00:00:00 2001 From: sloop Date: Sat, 30 Jan 2016 01:02:05 +0800 Subject: [PATCH] Canvas --- 问题/Canvas/Canvas(3).md | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/问题/Canvas/Canvas(3).md b/问题/Canvas/Canvas(3).md index 2d3da29..83078bc 100644 --- a/问题/Canvas/Canvas(3).md +++ b/问题/Canvas/Canvas(3).md @@ -29,15 +29,8 @@ Matrix(矩阵) | getMatrix, setMatrix, concat | 实际画布的位移,缩放 绘制有两种方法,drawPicture 和 drawBitmap,接下来我们一一了解。 ### drawPicture -drawPicture有三种方法: -``` -public void drawPicture (Picture picture) -public void drawPicture (Picture picture, Rect dst) - -public void drawPicture (Picture picture, RectF dst) -``` -关于drawPicture还是挺让人费解的,不过嘛,我们慢慢研究一下它的用途。 +关于drawPicture一开始还是挺让人费解的,不过嘛,我们接下来慢慢研究一下它的用途。 既然是drawPicture就要了解一下什么是**Picture**。 顾名思义,Picture的意思是图片。 @@ -88,7 +81,7 @@ public void writeToStream (OutputStream stream) | (已废弃)将Picture中内容 #### 使用示例: -**准备工作** +**准备工作:** ``` java // 1.创建画笔 private Picture mPicture = new Picture(); @@ -124,15 +117,23 @@ public void writeToStream (OutputStream stream) | (已废弃)将Picture中内容 ``` -** 具体使用 ** +**具体使用:** + Picture虽然方法就那么几个,但是具体使用起来还是分很多情况的,总体上可以分为三种: _1.使用Picture提供的draw方法绘制。_ _2.使用Canvas提供的drawPicture方法绘制。_ -_3.将Picture压缩成位图Bitmap然后绘制。_ - +_3.将Picture转换成位图Bitmap然后绘制。_ + +先分析三种方法主要区别: + +主要区别 | 分类 | 简介 +--- | --- | --- +矢量图与位图 | 1,2为矢量图
3是位图 | **位图:** 也叫做点阵图,删格图象,像素图,最小单位由象素构成,缩放会失真。
**矢量图:** 也叫做向量图,由坐标和运算得出,缩放不失真。 +是否对Canvas有影响 | 1有影响
2,3不影响 | 此处指绘制完成后是否会影响Canvas的状态(Matrix clip等) +可操作性强弱 | 1可操作性较弱
2,3可操作性较强 | 此处的可操作性可以简单理解为对绘制结果可控程度。