我正在试图弄清楚如何在android中绘制位图,并为撤消功能保留这些已更改位图的副本。
Bitmap b = ...
Paint p = new Paint();
canvas.drawBitmap(b, new Matrix(), null);
canvas.drawCircle(0,0,20,20);
//does Bitmap b have the circle drawn on it next time?
或者如何在使用画布绘制位图之后获取位图(我想保留一堆位图以及画布绘制所应用的更改)?也许我真的错了。
答案 0 :(得分:18)
使用new Canvas(Bitmap bitmap)
为Canvas
提供Bitmap
,其中包含绘图操作的结果。
您在Bitmap
上使用Canvas
绘制的原始drawBitmap
将永远不会被修改。
用户完成每项操作后,您可以:
另一种方法可能是使用LayerDrawable
将连续绘制操作堆叠在一起。您可以想象允许用户禁用每个单独的操作。
答案 1 :(得分:0)
您可以在此处查看完整指南如何绘制文字:
https://www.skoumal.net/en/android-how-draw-text-bitmap/
长话短说:
复制您的位图以使其可变并基于它创建Canvas。