下面是我需要做的解釋。它應該從圖庫中加載一張照片並將其顯示在屏幕上。然後用戶可以將公司的吉祥物的小圖片拖入加載的照片中,最後保存。將圖片添加到另一個
這個想法是,如果你從畫廊應用程序中搜索照片,你可以找到原始照片以及吉祥物看起來就像它的修改過的照片。
問題是,我不確定要使用哪些類來完成此操作。我實際上將照片位圖加載到ImageView
中,但是我不知道如何將吉祥物添加到位圖中,我應該使用Canvas
?或者是什麼程序?
下面是我需要做的解釋。它應該從圖庫中加載一張照片並將其顯示在屏幕上。然後用戶可以將公司的吉祥物的小圖片拖入加載的照片中,最後保存。將圖片添加到另一個
這個想法是,如果你從畫廊應用程序中搜索照片,你可以找到原始照片以及吉祥物看起來就像它的修改過的照片。
問題是,我不確定要使用哪些類來完成此操作。我實際上將照片位圖加載到ImageView
中,但是我不知道如何將吉祥物添加到位圖中,我應該使用Canvas
?或者是什麼程序?
您可以從原始位圖(以您的圖庫圖像爲基準)創建畫布作爲基礎,並在其上繪製吉祥物,並將縮略圖另存爲另一個存儲文件。
您必須計算繪畫難度的位置。
Bitmap base; // Get it with your own approach, this refers to gallery image
Bitmap mascot; // Get it with your own approach, this refers to mascot image
Canvas canvas = new Canvas(base);
//0f and 0f refers to coordinates of drawing, you may want to do some calculation here.
canvas.drawBitmap(mascot, 0f, 0f, null);
// At this point base will have the mascot drawn, you may want to display it or save it somewhere else.
你需要做的圖像第一可變的,然後在其上添加其他圖像,並獲得使其immutable-
bitmap3=mutableimage3.copy(Bitmap.Config.ARGB_4444,true);// mutable image.
bitmap3=mutableimage3.copy(Bitmap.Config.ARGB_4444,false);//immutable
有一個應用程序稱爲鬍子瘋狂...它的一個開源的..它提供了你所需要的... https://github.com/baugarten/Android-Image-Edit ..檢查它的來源。
我目前正在顯示ImageView上的'base'位圖。如上所述,使用畫布繪製「吉祥物」後,我需要顯示它,是否可以通過ImageView完成,還是必須創建自定義視圖? –
執行完上述所有代碼後,您可以只做一個ImageView.setImageBitmap(base),然後您將更新新圖像。另外保存爲外部存儲中的另一個文件,以便您以後可以檢索它。編輯:抱歉,沒有正確地閱讀你的問題,你可以在你的屏幕上有兩個imageview,第一個將使用原始圖像設置,並且在完成繪圖後,您可以將基本設置爲第二個圖像視圖,當然再次執行setImageBitmap基於第一個ImageView也會產生效果。 –