2015-09-14 61 views
2

我想實現這種功能。如何在Android中分割相機預覽?

我最初的攝像頭預覽:

enter image description here

現在我要打破這個攝像頭預覽分爲兩個部分:

enter image description here

我有什麼特里d:

  1. 創建一個表面視圖持有相機的預覽[完成]

  2. 表面的移位一半查看出了屏幕[完成]現在一半從出離開表面視圖移位。屏幕只有一半是可見的。

問題是相機寫入它僅在表面視圖的可見部分完成預覽,因此預覽會縮小到屏幕的一半。

任何人都可以幫助我,我怎麼能做到這一點?

回答

1

將相機預覽發送到SurfaceTexture,然後用GLES繪製兩個矩形,一個用預覽的左邊部分,一個用右邊。使用單個SurfaceView進行顯示。

您可以在Grafika's「Camera from Camera」的「紋理」中找到示例代碼,它以各種方式處理相機輸出。特別注意,「縮放」功能通過顯示逐漸縮小的預覽區域,同時保持輸出相同大小而起作用。

+0

感謝您的幫助。請您告訴我如何獲得預覽的右側和左側部分? –

+0

您可以通過修改紋理座標來選擇它,紋理座標使用範圍[0.0,1.0]指定源區域。 [ScaledDrawable2d](https://github.com/google/grafika/blob/master/src/com/android/grafika/ScaledDrawable2d.java)類可以選擇預覽區域的內部部分來創建縮放效果。你會做類似的事情,但U從0到1,V從0到0.5或0.5到1。 – fadden