【问题标题】:How can I set boundaries for a custom Android camera?如何为自定义 Android 相机设置边界?
【发布时间】:2024-01-21 06:16:01
【问题描述】:

我正在尝试将 Android 相机的一个区域划分为一张图片(如下图所示)。我只希望标记的区域出现在图片中。

  1. 如何创建一个自定义相机,当我打开相机(在我的应用程序中)时显示标记区域?

  2. 如何只拍摄标记区域的照片?

【问题讨论】:

    标签: android android-camera


    【解决方案1】:

    由于SurfaceView 占用的空间比内部矩形多,因此您必须裁剪获得的图像。

    使用Bitmap.createBitmap():

    从源位图的指定子集中返回不可变位图。新位图可能与源是同一对象,或者可能已制作副本。它被初始化为与原始位图相同的密度。

    传递一个位图,并定义创建新位图的矩形:

    // Take 42 pixels off 4 sides
    Bitmap croppedBmp = Bitmap.createBitmap(originalBmp, 42, 42, originalBmp.getWidth() - 42, originalBmp.getHeight() - 42);
    

    【讨论】: