繁体   English   中英

如何在android中绘制Bitmap?

[英]How to draw on Bitmap in android?

我正在试图弄清楚如何在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?

或者如何在使用画布绘制位图之后获取位图(我想保留一堆位图以及画布绘制所应用的更改)? 也许我说这完全错了。

使用new Canvas(Bitmap bitmap)Canvas提供一个Bitmap ,它将包含绘图操作的结果。

使用drawBitmapCanvas上绘制的原始Bitmap永远不会被修改。

在用户完成每个操作后,您可能:

  • 保留内存中已完成的操作列表
  • 使用Bitmap.compress将中间结果保存到外部存储

另一种方法可以是使用LayerDrawable将连续绘制操作堆叠在彼此之上。 您可以想象允许用户禁用每个单独的操作。

您可以在此处查看完整指南如何绘制文本:

https://www.skoumal.net/en/android-how-draw-text-bitmap/

长话短说:

复制您的位图以使其可变并基于它创建Canvas。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM