flutter 相机加入mask(遮罩层)

实现效果:

实现的效果如上图,这里我们可以在中间加入一个遮罩层,中间的那个人的头像。

使用的插件也是目前第一次遇到过的,先放上地址:

pub地址:https://pub.dev/packages/camera_camera

更多文章查看个人主页:
Github搭建个人博客(2019最新版,亲测)

使用步骤:

1 导入:

2 android 清单文件中配置:

<activity
android:name="com.yalantis.ucrop.UCropActivity"
android:screenOrientation="portrait"
android:theme="@style/Theme.AppCompat.Light.NoActionBar"/>

app/build.gradler下:

minSdkVersion 21

3 IOS info.plist文件配置:

	<key>NSCameraUsageDescription</key>
    <string>Can I use the camera please?</string>
    <key>NSMicrophoneUsageDescription</key>
    <string>Can I use the mic please?</string>

文件中使用:

    var  img = await Navigator.push(
        context,
        MaterialPageRoute(
            builder: (context) => Camera(
                  orientationEnablePhoto: CameraOrientation.portrait,
                  imageMask: Image.asset(ImageUtil.getLocalPath(ImageConstant.icon_mask),
                  ),
                )),
      );

在调用相册的时候最好使用一下权限声明:

  void chosePhoto(int index) async {
    PermissionHandler().requestPermissions(
        [PermissionGroup.photos, PermissionGroup.camera]).then((map) {
      if (map[PermissionGroup.photos] == PermissionStatus.granted ||
          map[PermissionGroup.camera] == PermissionStatus.granted) {
        chosePhotoFromPhone(context, index);
      }
    });
  }

这样我们就完成了整个相册mask(遮罩层)的功能。
更多文章查看个人主页:
Github搭建个人博客(2019最新版,亲测)

你可能感兴趣的:(Flutter开发,android,ios,objective-c,flutter)