最近在做flutter项目的时候用到前置摄像头,拍摄的时候拍出来的图片是翻转的,找到很多办法都没有解决方案。找来找去就找到了image_editor插件

现在贴上代码:

Future<String> takePicture() async {if (controller == null) return "";if (!controller!.value.isInitialized) {return "null";}final Directory extDir = await getApplicationDocumentsDirectory();final String dirPath = '${extDir.path}/Pictures/flutter_test';await Directory(dirPath).create(recursive: true);final String filePath = '$dirPath/${timestamp()}.jpg';if (controller!.value.isTakingPicture) {return "";}try {XFile file = await controller!.takePicture();String path = file.path;Uint8List? bytes = await file.readAsBytes();var image = img.decodeImage(bytes);// image?.disposeMethod = DistanceMode.further as img.DisposeMode;// imageif (cameras[cameraDirection].lensDirection == CameraLensDirection.front) {/// 前置摄像头处理,后置摄像头一般不会出现问题// ImageEditorOption option = ImageEditorOption();ImageEditorOption option = ImageEditorOption();/// 翻转配置option.addOption(FlipOption(horizontal: true));bytes = await ImageEditor.editImage(image: bytes!, imageEditorOption: option);await File(path).delete();File(path).writeAsBytesSync(bytes!);}if (image != null) {// await clipImage(file.path, image.width, image.height);}var offset = (image!.height - image.width) / 2;ImageProperties properties =await FlutterNativeImage.getImageProperties(path);properties.orientation = ImageOrientation.flipHorizontal;// File(file.path).writeAsBytesSync(bytes);/// 截取图片File cropedFile = await FlutterNativeImage.cropImage(file.path, 0, offset.round(), image.width, image.width);// img.bakeOrientation(image);return cropedFile.path;} on CameraException catch (e) {return e.toString();}return "";}

记录一下解决方案

flutter 处理前置摄像头拍出来的图片翻转问题,截取正方形图片问题相关推荐

  1. python测试脚本截图_Python+selenium实现截图图片并保存截取的图片

    这篇文章介绍如何利用Selenium的方法进行截图,在测试过程中,是有必要截图,特别是遇到错误的时候进行截图.在selenium for Python中主要有三个截图方法,我们挑选其中最常用的一种. ...

  2. 苹果前置摄像头拍出来是反的怎么调_不用等了!屏下摄像头难攻克,明年还是挖孔屏...

    看过目前市面上所有的手机外观,网友们表示更期待的还是屏下摄像头技术.打孔也好,刘海也好,水滴美人尖也好,升降机械结构也好,传统外观也好,折叠也好,都没能真正的解决用户们呼唤已久的"手机正面全 ...

  3. android 前置摄像头预览时 镜像翻转_全面屏时代,原来手机前置摄像头都隐藏着一些缺点,你发现了吗?...

    随着真全面屏时代的到来,人们已经不再满足于刘海屏.水滴屏以及挖孔屏等,越来越多的手机厂商和消费者开始追求"100%全面屏".于是如何解决手机前置摄像头便成了最大的难题,毕竟只要在屏 ...

  4. php 截取图片大小,PHP截取指定图片大小的方法

    这篇文章主要介绍了PHP截取指定图片大小的方法,可实现对指定图片的缩放与截取功能,是非常实用的技巧,需要的朋友可以参考下 本文实例讲述了PHP截取指定图片大小的方法.分享给大家供大家参考.具体分析如下 ...

  5. 苹果前置摄像头拍出来是反的怎么调_苹果前置拍照怎么反的。怎么调正

    展开全部 具体操du作如下: 1.点相机zhi,重新进入相机. 2.点击左下角版刚才拍摄的相片,点击编辑权 4.点击编辑后会看到三个按钮  (注意:"取消"和"复原&qu ...

  6. 为什么镜面成像是左右反而不是上下反(从前置摄像头说起)

    通常,镜面的"左右反"被描述为:你在镜子前用右手写字,而镜子中的你正在用左手写字.为什么镜面成像给人感觉左右反而不是上下反呢?回顾高中物理,镜中像的形成是由于反射的光被人眼接收,而 ...

  7. 如何在notebook中的markdown中插入截取的图片_96编辑器教你如何在文章中插入图片、视频、音频!...

    一.如何插入图片 注意事项: 1.上传的每张图片大小请勿超过2M.如果文章内需要插入数量较多的图片,请先压缩每张图片至100kb左右,如果文章内插入较多的大图片可能会造成同步慢.生成不了图片,文章页面 ...

  8. python中批量将矩形图片转化为正方形图片,并且缩放

    前言 为了在pytorch中进行深度学习的时候尽可能的采用正方形图片作为输入,需要将自己做的样本图片最好转化为正方形图片.具体的见代码,代码中有每一行的注释. python代码 from PIL im ...

  9. css3 图片圆形显示 如何CSS将正方形图片显示为圆形图片布局

    正方形图片使用CSS如何实现成圆形布局,不使用PS软件处理,直接使用DIV CSS布局如何实现图片圆形化. 正方形图片实现圆形布局 一.图片实现圆形条件   -   TOP 原本不是圆形图片,通过CS ...

最新文章

  1. 微酷WeiKuCMS现赠送高速开发系统软件。公司、程序猿的福音呀!
  2. zabbix_agent自动部署安装
  3. BZOJ1563:[NOI2009]诗人小G(决策单调性DP)
  4. npm install --save和npm install --save-dev的区别
  5. MySQL高级篇(事务视图存储过程与函数)
  6. 【转载】用平常语言介绍神经网络
  7. python判断用户名是否有效_Python校验用户名是否合法示例
  8. android 关闭jack_安卓编译 Jack server 错误问题解决办法
  9. Package winbind is not configured yet.
  10. 中国最好的产品经理100人
  11. 微软造的还原精灵EWF(Enhanced Write Filter)
  12. 这么黄的教程,我看了2小时就关了!
  13. 听说,年终总结写不好,绩效要被打 C
  14. 打上花火(打ち上げ花火) --罗马音歌词中文谐音歌词
  15. MUI click事件无效 click没反应 click监听不到
  16. matlab常用代码(读取文件、批量导入数据、与或非)
  17. 【Android开发VR实战】二.播放360°全景视频
  18. 【大揭秘】Android架构组件ViewModel来龙去脉
  19. JS原型和原型链(图解)
  20. 深度学习(10)ablation experiments

热门文章

  1. Qtum量子链周报(6月3日-6月9日)
  2. html get请求方法,获取Get请求字符串
  3. Dynamics 365 OP的UCI下附件上传超过大小限制后的提示错误
  4. JAVA调用小票打印机
  5. 计算机网络实验哈工大威海,哈工大威海计算机网络实验1试编.doc
  6. gif编解码python实战
  7. 淘宝根据商品ID免费获取详细信息(实时价格、尺码、库存等) 超详细
  8. 计算机第三次在线作业,春学期《计算机应用基础》在线作业第三次多项选择.doc...
  9. Ubuntu系统技巧之在命令行进行数学计算
  10. c语言的除法向上还是向下取整,C语言向上或向下取整函数