• 當前位置:首頁 > IT技術 > 移動平臺 > 正文

    app直播系統源碼,Flutter拍照與選擇照片并且保存到本地
    2021-10-11 15:13:45

    app直播系統源碼,Flutter拍照與選擇照片并且保存到本地實現的相關代碼

    核心代碼:

    ?

    final picker = ImagePicker(); //初始化
    ///存放的圖片
    File _imgPath;
    Future getImage(bool isTakePhoto) async {
    ? try {
    ? ? var pickedFile = await picker.getImage(
    ? ? ? ? source: isTakePhoto ? ImageSource.camera : ImageSource.gallery);
    ? ? if (pickedFile != null) {
    ? ? ? setState(() {
    ? ? ? ? _imgPath = File(pickedFile.path);
    ? ? ? });
    ? ? } else {
    ? ? ? print('沒有選擇任何圖片');
    ? ? }
    ? } catch (e) {
    ? ? print("該手機不支持相機");
    ? }
    }

    ?具體代碼:

    ?

    import 'dart:io';
    import 'package:flutter/cupertino.dart';
    import 'package:flutter/material.dart';
    import 'package:image_picker/image_picker.dart';
    class ImageTest extends StatefulWidget {
    ? @override
    ? State<StatefulWidget> createState() => ImageState();
    }
    class ImageState extends State<ImageTest> {
    ? final picker = ImagePicker();
    ? File _imgPath;
    ? Future getImage(bool isTakePhoto) async {
    ? ? try {
    ? ? ? var pickedFile = await picker.getImage(
    ? ? ? ? ? source: isTakePhoto ? ImageSource.camera : ImageSource.gallery);
    ? ? ? if (pickedFile != null) {
    ? ? ? ? setState(() {
    ? ? ? ? ? _imgPath = File(pickedFile.path);
    ? ? ? ? });
    ? ? ? } else {
    ? ? ? ? print('沒有選擇任何圖片');
    ? ? ? }
    ? ? } catch (e) {
    ? ? ? print("該手機不支持相機");
    ? ? }
    ? }
    ? @override
    ? Widget build(BuildContext context) {
    ? ? return Scaffold(
    ? ? ? body: ListView(
    ? ? ? ? children: [
    ? ? ? ? ? MaterialButton(
    ? ? ? ? ? ? ? minWidth: 100,
    ? ? ? ? ? ? ? height: 100,
    ? ? ? ? ? ? ? color: Colors.blue,
    ? ? ? ? ? ? ? onPressed: () {
    ? ? ? ? ? ? ? ? getImage(true);
    ? ? ? ? ? ? ? },
    ? ? ? ? ? ? ? child: Text(
    ? ? ? ? ? ? ? ? "拍照",
    ? ? ? ? ? ? ? ? style: TextStyle(fontSize: 32, color: Colors.white),
    ? ? ? ? ? ? ? )),
    ? ? ? ? ? SizedBox(
    ? ? ? ? ? ? height: 30,
    ? ? ? ? ? ),
    ? ? ? ? ? MaterialButton(
    ? ? ? ? ? ? ? minWidth: 100,
    ? ? ? ? ? ? ? height: 100,
    ? ? ? ? ? ? ? color: Colors.blue,
    ? ? ? ? ? ? ? onPressed: () {
    ? ? ? ? ? ? ? ? getImage(false);
    ? ? ? ? ? ? ? },
    ? ? ? ? ? ? ? child: Text("選擇照片",
    ? ? ? ? ? ? ? ? ? style: TextStyle(fontSize: 32, color: Colors.white))),
    ? ? ? ? ? _imgPath != null
    ? ? ? ? ? ? ? ? Image.file(
    ? ? ? ? ? ? ? ? ? _imgPath,
    ? ? ? ? ? ? ? ? ? fit: BoxFit.cover,
    ? ? ? ? ? ? ? ? )
    ? ? ? ? ? ? ? : Center(
    ? ? ? ? ? ? ? ? ? child: Text(
    ? ? ? ? ? ? ? ? ? "沒有選擇照片",
    ? ? ? ? ? ? ? ? ? style: TextStyle(fontSize: 32, color: Colors.black)s,
    ? ? ? ? ? ? ? ? ))
    ? ? ? ? ],
    ? ? ? ),
    ? ? );
    ? }
    }

    ?

    注意:此處保存的圖片存放在緩存中,如果需要保存到本地則需使用image_gallery_saver,用于保存。

    以上就是 app直播系統源碼,Flutter拍照與選擇照片并且保存到本地實現的相關代碼,更多內容歡迎關注之后的文章

    ?

    本文摘自 :https://www.cnblogs.com/

    開通會員,享受整站包年服務
    国产呦精品一区二区三区网站|久久www免费人咸|精品无码人妻一区二区|久99久热只有精品国产15|中文字幕亚洲无线码