读书人

小弟我想在位图上涂鸦可以吗

发布时间: 2013-07-09 09:50:47 作者: rapoo

我想在位图上涂鸦,可以吗?
我想在装载的位图上添加一些图案,然后再显示出来,但是没有成功。

思路是先用BitmapFactory装入一个图片文件,然后得到Bitmap bm,

创建一个画布Canvas canvas = new Canvas(bm);

但是执行上面一句一定出错,不知道是什么原因?

这些代码是写在onCreate里,是不是太早了?

[解决办法]
因为BitmapFactory decode出来的是immutable bitmap,可以理解为不可编辑不可写的,所以需要转换成mutable bitmap:

Bitmap bmp = BitmapFactory.decodeFile(filePath);
Bitmap canvasBmp = bmp.copy(bmp.getConfig(),true); //第二个参数设置mutable为true
bmp.recycle();
bmp = null;

Canvas canvas = new Canvas(canvasBmp);
canvas.draw...;

读书人网 >Android

热点推荐