簡體   English   中英

合並相機預覽與圖像?

[英]Merge Camera preview with a image?

我正在嘗試從相機預覽和上面的ImageView制作合成圖像。 我有一個透明的png圖像,它在像這樣的imageview上設置

ImageView iv = new ImageView(this);
iv.setImageResource(R.drawable.one);

然后我將它添加到framelayout,它已經顯示我的相機預覽(繼承SurfaceView),如下所示:

preview = (FrameLayout) findViewById(R.id.camera_preview);
preview.addView(cp); //cp is a reference to a camera preview object
preview.addView(iv);

我的imageview的圖片是這樣的:

在此輸入圖像描述

屏幕是這樣的(我不得不從另一台相機拍攝照片,因為DDMS截圖沒有顯示預覽圖像和黑屏,不知道這是否相關):

在此輸入圖像描述

現在我的任務是用imageview拍攝那張照片。 我想出了兩種方法,我不知道它們是否可以實現

  1. 單獨保存圖片,跟蹤圖像上的哪個封面然后合並。 可以這樣做,怎么做?
  2. 獲取兩個視圖所在的framelayout的外觀並保存為圖像
  3. 截取特定區域的屏幕截圖,我將onky做這個作為最后的手段,即如果可以做到這一點

我想知道的是這些方法可以采用哪種方法以及如何實現? 還是有更好的方法來完成這項工作?

假設你已經有來自jpeg回調的byte[] data形式的圖像。

  1. 將圖像解碼為可變位圖:

     Bitmap photo = BitmapFactory.decodeByteArray(data, 0, data.length); photo = photo.copy(photo.getConfig(), true); 
  2. 閱讀疊加層:

     Bitmap overlay = BitmapFactory.decodeResource(getResources(), R.drawable.one); 
  3. 在照片上繪制疊加層:

     Canvas canvas = new Canvas(photo); canvas.drawBitmap(overlay, new Matrix(), null); 

現在, photo應該包含您的圖像。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM