如何从相机预览(表面视图)裁剪图像并保存它而不是像Instagram应用程序那样拍摄的实际图像?

时间:2017-01-23 08:19:14

标签: android camera surfaceview

This is instagram app我有一个表面视图的活动(匹配父匹配父项),其中一半是按钮隐藏的。是否可以仅保存捕获图片的可见部分?我试图让表面视图更小,但在这种情况下预览要么旋转要么拉伸。我正在使用android.hardware.camera1 btw

<?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/activity_camera"
    android:layout_width="match_parent"
    android:layout_height="match_parent"

    tools:context="uz.pages.yangiuz10.activity.CameraActivity">

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


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <View
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"/>

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:background="@color/colorBackgroundText">

            <ImageButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/button_shot"
                android:layout_centerHorizontal="true"
                android:layout_centerVertical="true"
                android:src="@drawable/shot_btn"
                android:background="@null"
                android:onClick="onPictureCapture"/>

        </RelativeLayout>
    </LinearLayout>


</RelativeLayout>

Need to save only that visible part of image

1 个答案:

答案 0 :(得分:2)

链接下方与您的要求相同。

请检查:

https://kylewbanks.com/blog/tutorial-square-camera-with-preview-on-android

希望这能解决你的问题...(: