2011-06-07 92 views
0

我正在開發一個應用程序,它在SurfaceView上顯示相機預覽,但我只想顯示預覽的上半部分。裁剪/剪切相機預覽只顯示圖像的上半部分

是否有裁剪/裁剪視圖的方法,還是我不得不求助於用圖像,其他視圖或圖形等東西來遮蔽下半部分?

問候 西蒙

回答

-1

覆蓋在SurfaceView與另一種觀點是這樣做的最簡單的方法......但是,如果你問我這是相當難看。

爲什麼不手動設置SurfaceView高度?讓它佔用屏幕空間的50%,並且它會做你想要的。您不提供代碼,因此我們必須做一些猜測:假設您有一個LinearLayout,然後在其中放入兩個視圖:表面視圖和另一種視圖。然後,你將它們的高度設置爲0dip,並且它們的重量爲1 ...應該這樣做。

+1

AFAICT那種方法只是「南瓜」預覽:(- 我期待只顯示預覽的上半部分,最好以「漂亮」的方式顯示:) – SimpleSi 2011-06-07 22:35:24

+0

您是否嘗試過這樣做?我想你沒有... – Cristian 2011-06-07 22:51:15

+0

我剛剛嘗試了你的建議,但它的確如我所懷疑的那樣 - 它垂直壓扁相機預覽,所以你最終只能看到整個相機圖像的扭曲視圖,而不是上半部分( – SimpleSi 2011-06-08 13:09:19

0

我目前使用這種方法做裁剪(基本上使用絕對佈局的夾子孩子能力夾了surfaceview孩子)

<AbsoluteLayout android:clipChildren="true" android:layout_alignParentRight="true" android:layout_width="240dp" android:id="@+id/absoluteLayout1" android:layout_height="80dp"> 
    <SurfaceView android:id="@+id/swSurfaceView" android:layout_width="240dp" android:layout_height="160dp" android:visibility="visible"></SurfaceView> 
</AbsoluteLayout> 
+0

這隻適用於某些設備...在別人身上不會產生預期的效果。 – Cristian 2011-06-11 17:06:37