This commit is contained in:
sloop
2016-02-02 20:52:48 +08:00
parent 6f0a0d132e
commit aff1c22e81

View File

@@ -209,11 +209,20 @@ public void drawPicture (Picture picture, RectF dst)
2 | 通过BitmapFactory获取 2 | 通过BitmapFactory获取
3 | 通过BitmapDrawable获取 3 | 通过BitmapDrawable获取
第一种方式只能创建空白的Bitmap创建完成之后可以在上面绘制内容。 上面三种方法中第2种和第3中获取的位图是不可操作的(只读),只能用来画在画布上,而不能更改其中的内容。<br/>
第1种方法创建出来的是可以进行操作的但是其中没有内容。
第二种方式可以从程序内资源文件内存卡文件字符流等诸多地方获取Bitmap。 **一般来说,我们想要读取一张图片并且对其中的内容进行修改,会进行如下操作:**
步骤 | 说明
--- | ---
1 | 使用BitmapFactory或BitmapDrawable读取一张图片创建一个只读的Bitmap
2 | 使用Bitmap的creatXxx方法创建一个与第1步大小相同的空白Bitmap
3 | 将第1步中的只读Bitmap绘制到第2步的空白Bitmap上
4 | 对Bitmap进行操作
**PS 如果直接对只读的Bitmap操作会报异常(java.lang.IllegalStateException)**
第三种方式中的BitmapDrawable是Bitmap的一个包装类本身就包含有绘制等诸多方法。