在Android中基于叠加裁剪位图-Camera API 2

时间:2019-05-27 08:37:05

标签: android bitmap android-camera android-bitmap android-camera2

我正在使用Camera api捕获ID卡图片,如下图所示,我有一个覆盖图。我想裁剪框中的图像。您能否建议应该怎么做。我写下了我尝试过的东西以及它给我的结果。

这是我要捕获的ID的屏幕截图。

enter image description here

输出。

enter image description here

白色矩形框是一个相框,位于相对布局的中心

<View
    android:id="@+id/photo_frame"
    android:layout_width="match_parent"
    android:layout_height="212dp"
    android:background="@drawable/bg_photo_frame"
    android:layout_centerInParent="true"
    android:layout_margin="@dimen/double_padding"
    android:visibility="visible"/>

如何计算此帧以剪切图像

这是我必须剪切需要修改的图像,但是不确定前进的方向

       public Bitmap cutImage(final Bitmap srcBmp, final int pixepWidth, final int pixelsHeight, float widthRatio) {
//        Bitmap croppedBitmap = Bitmap.createBitmap(bitmap, 20, 20, pixepWidth, pixelsHeight);
//        return croppedBitmap;
        Bitmap dstBmp;
        if (srcBmp.getWidth() >= srcBmp.getHeight()){

            dstBmp = Bitmap.createBitmap(
                    srcBmp,
                    srcBmp.getWidth()/2 - srcBmp.getHeight()/2,
                    0,
                    srcBmp.getHeight(),
                    srcBmp.getHeight()
            );

        }else{

            dstBmp = Bitmap.createBitmap(
                    srcBmp,
                    0,
                    srcBmp.getHeight()/2 - srcBmp.getWidth()/2,
                    srcBmp.getWidth(),
                    srcBmp.getWidth()
            );
        }

        return dstBmp;
    }

0 个答案:

没有答案