如何使用带图像的相机?

时间:2015-04-29 15:44:58

标签: android background camera

我想创建一个包含图像的应用程序和可以使用设备相机的背景。我知道如何启动相机但不知道如何将图像向前推进。一个例子就是这个应用程序:

https://play.google.com/store/apps/details?id=com.kat.police.photosuit.montage

有人知道任何教程解释如何做或某些代码?

我搜索过但找不到也许是因为我的英语不是很好。提前致谢

2 个答案:

答案 0 :(得分:1)

请查看此示例:

http://examples.javacodegeeks.com/android/core/ui/surfaceview/android-surfaceview-example/

并使用此布局activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.javacodegeeks.androidsurfaceviewexample.AndroidSurfaceviewExample" >

    <SurfaceView
        android:id="@+id/surfaceView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:src="@drawable/police"
        android:layout_above="@id/capture"/>

    <LinearLayout
        android:id="@+id/capture"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:clickable="true"
        android:background="@android:color/white"
        android:gravity="center"
        android:layout_alignParentBottom="true"
        android:onClick="captureImage"
        android:orientation="horizontal" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:padding="10dp"
            android:text="Capture"
            android:textAppearance="?android:attr/textAppearanceLarge" />
    </LinearLayout>

</RelativeLayout>

enter image description here

在您的surfaceCreated方法中,您需要执行以下操作:

Camera.Parameters parameters = camera.getParameters();
List<Camera.Size> previewSizes = parameters.getPreviewSizes();

// You need to choose the most appropriate previewSize for your app
// Example Camera.Size previewSize = previewSizes.get(0);
Camera.Size previewSize = // .... select one of previewSizes here

parameters.setPreviewSize(previewSize.width, previewSize.height);
camera.setParameters(parameters);
camera.startPreview();

答案 1 :(得分:0)

在我看来,你的解决方案不应该重叠图像。我认为你所寻找的东西更复杂。你应该有两个图像,然后编写一个算法来混合它们,并在你的imageView上只显示一个图像。