我想在位图上涂鸦,可以吗?
我想在装载的位图上添加一些图案,然后再显示出来,但是没有成功。
思路是先用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...;