簡體   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