我想创建一个包含图像的应用程序和可以使用设备相机的背景。我知道如何启动相机但不知道如何将图像向前推进。一个例子就是这个应用程序:
https://play.google.com/store/apps/details?id=com.kat.police.photosuit.montage
有人知道任何教程解释如何做或某些代码?
我搜索过但找不到也许是因为我的英语不是很好。提前致谢
答案 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>
在您的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上只显示一个图像。