相机preVIEW上述透明图像 [英] Camera preview with a transparent image above
问题描述
我想看到的图像在相机SurfaceView \ preVIEW顶部。 我怎么做?任何的例子吗?
I would like to see an image on top of Camera SurfaceView\preview. How do I do that? Any examples?
推荐答案
一个很好的例子中可以找到 ZXing 库,吧code扫描仪的应用程序。
A great example can be found in ZXing library, Barcode Scanner application.
他们所做的就是他们使用的FrameLayout
为 SurfaceView
和他们的自定义 ViewfinderView
这样既 SurfaceView
和 ViewfinderView
被覆盖全屏幕:
What they do is they use FrameLayout
for SurfaceView
and their custom ViewfinderView
so that both SurfaceView
and ViewfinderView
are covering full screen:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<SurfaceView android:id="@+id/preview_view"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_centerInParent="true"/>
<com.google.zxing.client.android.ViewfinderView
android:id="@+id/viewfinder_view"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/transparent"/>
</FrameLayout>
请注意,在 FILL_PARENT
值 layout_height
和 layout_width
这两个观点。
Note the fill_parent
values in layout_height
and layout_width
for both views.
然后他们绘制定制的事情<一href="http://$c$c.google.com/p/zxing/source/browse/trunk/android/src/com/google/zxing/client/android/ViewfinderView.java#76"><$c$c>ViewfinderView.onDraw()$c$c>方法,只是对什么是正在显示相机preVIEW之上。
And then they draw custom things in ViewfinderView.onDraw()
method, just on top of what is being displayed by camera preview.
如果你不想画任何东西,但只使用predefined图像,然后使用的ImageView
,而不是 ViewfinderView $的C $ C>。你可能会考虑调用
setAlpha
方法,使你的形象透明(如果绘制还不是透明的本身)。
If you don't want to draw anything, but just use predefined image, then use ImageView
instead of ViewfinderView
. You might consider calling setAlpha
method to make your image transparent (if drawable wasn't already transparent by itself).
下面是吧code扫描仪的屏幕截图:
Here is a screenshot from Barcode Scanner:
这篇关于相机preVIEW上述透明图像的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!