Flutter 微信相机选择器

一个相机选择器,它是
wechat_assets_picker.
的扩展。基于camera进行相机功能实现,基于photo_manager进行资源实现。

特性 ✨

  • ? 默认非空
  • ? 99% 相似于微信风格
  • ? 支持拍照
    • ☀️ 支持曝光调整
    • ?️ 支持捏合缩放
  • ? 支持录像
    • ⏱ 支持时长限制
    • ? 录制时支持缩放
  • ? 支持前景自定义Widget构建

截图 ?

准备使用 ?

版本限制

Flutter SDK: >=2.0.0

设置

用法 ?

名称 类型 描述 默认值
enableRecording 布尔值 选择器是否可以录制视频。
onlyEnableRecording 布尔值 选择器是否只能录制视频。仅当enableRecordingtrue时可用。
enableAudio 布尔值 选择器是否应录制音频。仅录制时可用。
enableSetExposure 布尔值 用户是否可以通过点击设置曝光点。
enableExposureControlOnPoint 布尔值 用户是否可以根据设置的点来调整曝光。
enablePinchToZoom 布尔值 用户是否可以通过捏合缩放相机。
enablePullToZoomInRecord 布尔值 用户在录制视频时是否可以通过向上拉进行缩放。
shouldDeletePreviewFile 布尔值 弹出时是否会删除预览文件。
maximumRecordingDuration 持续时间 视频录制过程的最大时长。 const Duration(seconds: 15)
theme ThemeData? 选择器的ThemeData。 CameraPicker.themeData(C.themeColor)
textDelegate CameraPickerTextDelegate? 控制Widgets中文字的文本代理。 DefaultCameraPickerTextDelegate
resolutionPreset ResolutionPreset 相机的预设分辨率。 ResolutionPreset.max
cameraQuarterTurns 整数 相机视图应顺时针旋转的四分之一圈数。 0
imageFormatGroup ImageFormatGroup 描述原始图像格式的输出。 ImageFormatGroup.unknown
foregroundBuilder Widget Function(CameraValue)? 将覆盖整个相机预览的前景Widget构建器。
onEntitySaving EntitySaveCallback? Viewer中保存实体回调的类型定义。
onError CameraErrorHandler? 在拣选过程中发生任何错误时的错误处理程序。

简单用法

final AssetEntity? entity = await CameraPicker.pickFromCamera(context);

常见问题 ?

为什么iOS上的方向行为很奇怪?

目前,iOS上的预览同步不正确。
您可以在此issue中找到更多详细信息
https://github.com/flutter/flutter/issues/89216 .
除此之外,请提交issue来描述您的问题。

贡献者 ✨

感谢这些优秀的人 (表情符号键)


Alex Li

? ? ? ? ? ? ? ?

Caijinglong

? ?

Lael

?

mjl0602

? ?

AliasWang

? ?

本项目遵循all-contributors规范。欢迎任何形式的贡献!

GitHub

查看 Github