本文介绍如何在flutter中使用照相机;
1 加入必要的plugin在.yaml文件中:

camera:

2 在main函数中执行获取到可用的camera,并将camera数据传递到指定界面待使用;

import 'package:camera/camera.dart';
List<CameraDescription> cameras;
Future main() async{// 获取到可用的cameracameras = await availableCameras();return runApp(MyApp());
}

3 在照相机界面中获取到cameras数据,

 List<CameraDescription> cameras;page1(this.cameras);

4 定义并初始化camera的控制器:

//定义照相机控制器CameraController controller;@overridevoid initState() {super.initState();//实例化照相机控制器对象 明确使用的camera和分辨率controller = new CameraController(widget.cameras[0], ResolutionPreset.medium);//初始化控制器  当没有安装的时候返回空  否则更新statecontroller.initialize().then((_){if(!mounted){return;}setState(() {});});

5 创建照相机打开区域:

  @overrideWidget build(BuildContext context) {//当controler中没有值的时候if(!controller.value.isInitialized){return Container();}else  //当有值的时候返回对于控制器中的照相机数据return AspectRatio(aspectRatio: controller.value.aspectRatio,child: CameraPreview(controller),);}

照相机界面的完整代码如下:

class page1 extends StatefulWidget {List<CameraDescription> cameras;page1(this.cameras);@override_page1State createState() => _page1State();
}
class _page1State extends State<page1> {//定义照相机控制器CameraController controller;@overridevoid initState() {super.initState();//实例化照相机控制器对象 明确使用的camera和分辨率controller = new CameraController(widget.cameras[0], ResolutionPreset.medium);//初始化控制器  当没有安装的时候返回空  否则更新statecontroller.initialize().then((_){if(!mounted){return;}setState(() {});});}@overridevoid dispose() {//在dispose的时候取消controllercontroller?.dispose();super.dispose();}@overrideWidget build(BuildContext context) {//当controler中没有值的时候if(!controller.value.isInitialized){return Container();}else  //当有值的时候return AspectRatio(aspectRatio: controller.value.aspectRatio,child: CameraPreview(controller),);}
}

flutter-照相机的使用相关推荐

  1. Flutter移动应用开发 - 照相机调用和访问相簿

    目录 0. 项目简介 1. 效果展示 2. 部分代码 passager.dart 0. 项目简介 项目想法脱胎于2023年服务外包大赛A18题 随手买(详情) 整个APP思路如下: 这篇博客主要服务于 ...

  2. 【Flutter 问题系列第 71 篇】Flutter 中 Uint8List 和 Image 之间的相互转换

    这是[Flutter 问题系列第 71 篇],如果觉得有用的话,欢迎关注专栏. Flutter 版本:2.5.0,Dart 版本:2.14 因为最近一直在处理照相机.裁剪图片和 OCR 图片识别的功能 ...

  3. 基于Flutter的仿微信聊天应用

    前言   作为当下风头正劲的跨端框架,flutter成为原生开发者和前端开发者争相试水的领域,笔者将通过一个仿微信聊天的应用,展现flutter的开发流程和相关工具链,旨在熟悉flutter的开发生态 ...

  4. TensorFlow Lite,ML Kit 和 Flutter 移动深度学习:1~5

    原文:Mobile Deep Learning with TensorFlow Lite, ML Kit and Flutter 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自[Apach ...

  5. 写一个Flutter手势追踪插件

    /   今日科技快讯   / 近日字节跳动组织升级,张利东担任字节跳动(中国)董事长,全面协调公司运营,包括字节跳动中国的战略.商业化.公共事务.公共关系.财务.人力:抖音CEO张楠将担任字节跳动(中 ...

  6. Flutter闪光灯

    打开手机闪光灯 PS:找到了一个别人写好的一个package,也就是说,不保证以后都一直能用,万一别人删了这个package就用不了了 1.添加依赖 在pubspec.yaml中添加: dev_dep ...

  7. TensorFlow Lite,ML Kit 和 Flutter 移动深度学习:6~11

    原文:Mobile Deep Learning with TensorFlow Lite, ML Kit and Flutter 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自[Apach ...

  8. Flutter玩3d开心的玩

    一,原理: 先上图:如下1 我的免费Flutter和Dart教学视频希望你一起学习,对你有所帮助: https://space.bilibili.com/265453330?spm_id_from=3 ...

  9. Flutter 拨打电话和跳转网页

    首先需要一如库 url_launcher  如下 具体写法如下 import 'package:flutter/material.dart'; import 'package:url_launcher ...

  10. flutter导入第三方库

    在pubspec.yaml 文件中找到 dependencies 在里面填写 第三方库即可 例如图中我写了fluttertoast库 特别注意:导入的位置要不dependencies下面的flutte ...

最新文章

  1. AI2XAML's Bug(sequel)
  2. [翻译]通过调用多个动作创建ASP.NET MVC视图
  3. Cannot resolve bean 'xxx' less... (Ctrl+F1) Inspection info:Checks autowir
  4. java 堆转储快照_捕获Java堆转储的7个选项
  5. Codeforces Round #173 (Div. 2) E. Sausage Maximization —— 字典树 + 前缀和
  6. python处理时间格式转换,将xxxx年xx月xx日转化为xxxx-xx-xx格式
  7. Android 抽屉用法
  8. 饥荒 Don‘t Starve Together Mac游戏介绍
  9. 杭电一学生还没毕业年薪已过百万,带十几人的研发团队!
  10. 从公司角度来看,为什么要招实习生?
  11. python数据分析(三)——pandas缺失值处理
  12. [Alpha阶段]第十次Scrum Meeting
  13. 以程序员的视角带你看郑州
  14. css(显示与隐藏、溢出)
  15. 计算机毕业设计(附源码)python学校健身房管理系统
  16. 如何学习软件测试开发?从入门到精通?
  17. 麦当劳电子发票打印之后全都是乱码
  18. 没有光驱软驱系统照装
  19. python pandas 将结果输出到excel的sheet页——pd.ExcelWriter
  20. 前端通过将json转成excel文件下载

热门文章

  1. 关于【赤峰公交出行】暂停服务的通知
  2. 浅谈虚拟交换机(vswitch)技术演进
  3. 百度站长工具之索引量
  4. 特斯拉E/E整车电子电气创新架构分析
  5. 怎么样才能成为一个优秀的业务员
  6. 一文说清丨科学认识幽门螺旋杆菌
  7. 【扫盲】什么是Runtime?
  8. 2023年计算机专业的毕业设计题目大全-喜欢可以收藏
  9. PDF电子签名A4实现
  10. 编译链接过程中出现“无法解析的外部符号”,原因及解决办法总结