2011-06-07 56 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