Flutter 学习之图片的选择、裁切、保存

这篇具有很好参考价值的文章主要介绍了Flutter 学习之图片的选择、裁切、保存。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Flutter 学习之图片的选择、裁切、保存

在Flutter中,我们可以通过调用系统的图片选择器来选择一张图片,也可以通过使用插件来实现图片的裁切和保存。

图片选择

Flutter提供了ImagePicker插件来实现图片选择功能。为了使用该插件,我们需要在pubspec.yaml文件中添加依赖:

dependencies:
  image_picker: ^0.6.7+22

然后在需要使用图片选择器的地方,比如一个按钮的点击事件中,添加以下代码:

import 'package:image_picker/image_picker.dart';

final picker = ImagePicker();
final pickedFile = await picker.getImage(source: ImageSource.gallery);

以上代码会打开系统的图片选择器,让用户选择一张图片。选择完成后,我们可以通过pickedFile.path获取图片的本地路径。

图片裁切

Flutter提供了flutter_image_crop插件来实现图片的裁切功能。为了使用该插件,我们需要在pubspec.yaml文件中添加依赖:

dependencies:
  flutter_image_crop: ^0.3.3

然后在需要使用图片裁切的地方,添加以下代码:

import 'package:flutter_image_crop/flutter_image_crop.dart';

final croppedFile = await ImageCrop.cropImage(file: File(pickedFile.path));

以上代码会打开图片裁切界面,让用户进行裁切操作。裁切完成后,我们可以通过croppedFile.path获取裁切后的图片的本地路径。

图片保存

Flutter提供了path_provider插件来获取应用程序的本地目录,然后我们可以使用dart:io中的File类来保存图片。为了使用该插件,我们需要在pubspec.yaml文件中添加依赖:

dependencies:
  path_provider: ^1.6.14

然后在需要保存图片的地方,添加以下代码:

import 'package:path_provider/path_provider.dart';

final directory = await getApplicationDocumentsDirectory();
final path = '${directory.path}/image.jpg';
final file = await File(path).create();
await file.writeAsBytes(await croppedFile.readAsBytes());

以上代码会将裁切后的图片保存到应用程序的本地目录中。

到此,图片的选择、裁切、保存功能就实现了。文章来源地址https://www.toymoban.com/news/detail-486257.html

到了这里,关于Flutter 学习之图片的选择、裁切、保存的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Flutter】Flutter 图片选择器入门:如何使用 image_picker 插件从图库选择图片、拍摄新照片

    🎉想要精通 Flutter,掌握更多技巧和最佳实践?好消息来了!👉 Flutter专栏-Flutter Developer 101 入门小册 正在等你!📚 🔍这里有你需要的所有 Flutter 学习资源,包括代码示例和深度解析。🎯 ⏰专栏内容持续更新࿰

    2024年02月14日
    浏览(62)
  • 【Flutter】支持多平台 多端保存图片到本地相册 (兼容 Web端 移动端 android 保存到本地)

    免责声明: 我只测试了Web端 和 Android端 可行哈

    2024年02月09日
    浏览(70)
  • layui选择多张图片上传多图上传到服务器保存

    多图上传在一些特殊的需求中我们经常会遇到,其实多图上传的原理大家都有各自的见解。对于Layui多图上传和我之前所说的通过js获取文本框中的文件数组遍历提交的原理一样,只不过是Layui中的upload.render方法已经帮我们封装好了,我们只管调用即可,也就是说你选中了几张

    2024年02月16日
    浏览(43)
  • Flutter中系统Emoji通过substring裁切后无法识别导致渲染错误

    在发布文章的时候,有标题和内容,标题可为空,在没有标题的情况下,截取部分内容当作标题。 内容列表显示的时候,某些特殊的情况下(并不重要),我们就需要裁切文章标题。 当文章标题中有文字 + 系统自带的 emoji 的时候,我们去裁切标题就会出现无法识别渲染出来

    2024年02月09日
    浏览(52)
  • css mask使用,背景透明,图片裁切

    2.1 背景透明 图片与mask生成的渐变的 transparent 的重叠部分,会变得透明,这里#000可以为任意颜色,效果相同 2.2 图片裁切

    2024年01月17日
    浏览(42)
  • vue前端实现图片下载,实现点击按钮弹出本地窗口,选择自定义保存路径

    直接上代码,废话不多说,点关注,不迷路 一、下载代码 二、别找代码了,不用代码就可以实现 以下按照步骤一步一步来 按照红色箭头所指,用鼠标戳它 恭喜你,功能完成了

    2024年02月13日
    浏览(59)
  • iOS长宽不一致图片,设置圆角并裁切多余部分

    问题: 直接设置圆角的话,如果所选图片长宽不一致,会导致展示的图片畸形,不是我们所想要的圆角 解决方案:  如果想要圆角完整显示,在代码中加入 _avatarIcon.contentMode = UIViewContentModeScaleAspectFill;  UIViewContentModeScaleAspectFill表示按比例缩放并且填满view,意味着图片可能

    2024年01月23日
    浏览(46)
  • 微信小程序分享的图片被裁切了。怎么让他不裁剪正常比例5:4显示

     现在的效果 希望的效果  最主要的是下面的这个函数。把图片转成了5:4的临时图片  页面上。使用定位让用户看不到这个绘图,但是实际上只是不出现在可视范围内 然后调用函数把你的图片换成这个临时的图片 }

    2024年02月09日
    浏览(55)
  • 【第四章 flutter学习之flutter基础组件】

    android、ios各自平台的资源文件 lib 项目目录 linux macos PC平台资源文件 web web平台资源文件 其他的基本上是一些配置文件 pubspec.yaml 配置文件类似vue中的json 核心文件是main.dart文件 首先我们先清空main.dart文件 引入主题 import ‘package:flutter/material.dart’; 定义入口方法 用来调用组件

    2024年02月15日
    浏览(53)
  • 【第五章 flutter学习之flutter进阶组件-上篇】

    children可以复制多个组成列表 设置纵向列表方向 Flutter动态列表可以通过ListView.builder或ListView.separated来实现。 如下例 Filutter 是一个开源的 JavaScript 库,用于创建和管理可过滤和可排序的数据表。FridView 是 Filutter 库中的一个组件,用于在数据表中显示数据行。FridView 组件具有

    2024年02月14日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包