flutter-照相机的使用
本文介绍如何在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-照相机的使用相关推荐
- Flutter移动应用开发 - 照相机调用和访问相簿
目录 0. 项目简介 1. 效果展示 2. 部分代码 passager.dart 0. 项目简介 项目想法脱胎于2023年服务外包大赛A18题 随手买(详情) 整个APP思路如下: 这篇博客主要服务于 ...
- 【Flutter 问题系列第 71 篇】Flutter 中 Uint8List 和 Image 之间的相互转换
这是[Flutter 问题系列第 71 篇],如果觉得有用的话,欢迎关注专栏. Flutter 版本:2.5.0,Dart 版本:2.14 因为最近一直在处理照相机.裁剪图片和 OCR 图片识别的功能 ...
- 基于Flutter的仿微信聊天应用
前言 作为当下风头正劲的跨端框架,flutter成为原生开发者和前端开发者争相试水的领域,笔者将通过一个仿微信聊天的应用,展现flutter的开发流程和相关工具链,旨在熟悉flutter的开发生态 ...
- TensorFlow Lite,ML Kit 和 Flutter 移动深度学习:1~5
原文:Mobile Deep Learning with TensorFlow Lite, ML Kit and Flutter 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自[Apach ...
- 写一个Flutter手势追踪插件
/ 今日科技快讯 / 近日字节跳动组织升级,张利东担任字节跳动(中国)董事长,全面协调公司运营,包括字节跳动中国的战略.商业化.公共事务.公共关系.财务.人力:抖音CEO张楠将担任字节跳动(中 ...
- Flutter闪光灯
打开手机闪光灯 PS:找到了一个别人写好的一个package,也就是说,不保证以后都一直能用,万一别人删了这个package就用不了了 1.添加依赖 在pubspec.yaml中添加: dev_dep ...
- TensorFlow Lite,ML Kit 和 Flutter 移动深度学习:6~11
原文:Mobile Deep Learning with TensorFlow Lite, ML Kit and Flutter 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自[Apach ...
- Flutter玩3d开心的玩
一,原理: 先上图:如下1 我的免费Flutter和Dart教学视频希望你一起学习,对你有所帮助: https://space.bilibili.com/265453330?spm_id_from=3 ...
- Flutter 拨打电话和跳转网页
首先需要一如库 url_launcher 如下 具体写法如下 import 'package:flutter/material.dart'; import 'package:url_launcher ...
- flutter导入第三方库
在pubspec.yaml 文件中找到 dependencies 在里面填写 第三方库即可 例如图中我写了fluttertoast库 特别注意:导入的位置要不dependencies下面的flutte ...
最新文章
- AI2XAML's Bug(sequel)
- [翻译]通过调用多个动作创建ASP.NET MVC视图
- Cannot resolve bean 'xxx' less... (Ctrl+F1) Inspection info:Checks autowir
- java 堆转储快照_捕获Java堆转储的7个选项
- Codeforces Round #173 (Div. 2) E. Sausage Maximization —— 字典树 + 前缀和
- python处理时间格式转换,将xxxx年xx月xx日转化为xxxx-xx-xx格式
- Android 抽屉用法
- 饥荒 Don‘t Starve Together Mac游戏介绍
- 杭电一学生还没毕业年薪已过百万,带十几人的研发团队!
- 从公司角度来看,为什么要招实习生?
- python数据分析(三)——pandas缺失值处理
- [Alpha阶段]第十次Scrum Meeting
- 以程序员的视角带你看郑州
- css(显示与隐藏、溢出)
- 计算机毕业设计(附源码)python学校健身房管理系统
- 如何学习软件测试开发?从入门到精通?
- 麦当劳电子发票打印之后全都是乱码
- 没有光驱软驱系统照装
- python pandas 将结果输出到excel的sheet页——pd.ExcelWriter
- 前端通过将json转成excel文件下载