千家信息网

如何实现Flutter简洁实用的图片编辑器

发表于:2024-11-17 作者:千家信息网编辑
千家信息网最后更新 2024年11月17日,小编给大家分享一下如何实现Flutter简洁实用的图片编辑器,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!介绍一款简洁实用
千家信息网最后更新 2024年11月17日如何实现Flutter简洁实用的图片编辑器

小编给大家分享一下如何实现Flutter简洁实用的图片编辑器,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

介绍

一款简洁实用的图片编辑器,纯dart开发。支持:涂鸦、旋转&翻转、马赛克、添加文字,及自定义ui风格。

功能演示

涂鸦

旋转&翻转

马赛克

添加文字及删除

安装

添加依赖

dependencies:  image_editor_dove: ^latest

import

import 'package:image_editor/flutter_image_editor.dart';

使用方法

获取到原图片后,将其传给ImageEditor 如下:

  Future toImageEditor(File origin) async {    return Navigator.push(context, MaterialPageRoute(builder: (context) {      return ImageEditor(        originImage: origin,        //可空,支持自定义存储位置(编辑后的图片)        savePath: customDirectory      );    })).then((result) {      if (result is EditorImageResult) {        setState(() {          _image = result.newFile;        });      }    }).catchError((er) {      debugPrint(er);    });  }

返回结果

///The editor's result.class EditorImageResult {  ///宽度  final int imgWidth;  ///高度  final int imgHeight;  ///编辑后的图片  final File newFile;  EditorImageResult(this.imgWidth, this.imgHeight, this.newFile);}

拓展

UI定制

一些按钮、滑块等widget支持自定义,可通过继承ImageEditorDelegate来自定义ui风格:

class YourUiDelegate extends ImageEditorDelegate{    ...}ImageEditor.uiDelegate = YourUiDelegate();
class ImageEditor extends StatefulWidget {  const ImageEditor({Key? key, required this.originImage, this.savePath}) : super(key: key);      ...      ///[uiDelegate] is determine the editor's ui style.  ///You can extends [ImageEditorDelegate] and custome it by youself.  static ImageEditorDelegate uiDelegate = DefaultImageEditorDelegate();  @override  State createState() {    return ImageEditorState();  }}

保持相对绘制路径

为了获得更大的绘制区域,所以绘制面积并非为图片显示区域,这也就导致了旋转的时候,相对位置会有变化。如果你需要保持相对,可以控制绘制区域与图片显示区域保持一致即可。

以上是"如何实现Flutter简洁实用的图片编辑器"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

图片 区域 实用 简洁 编辑器 篇文章 支持 位置 内容 文字 风格 马赛克 马赛 一致 不怎么 使用方法 功能 大部分 宽度 按钮 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 江西名微汇网络技术有限公司 哈尔滨服务器搬家电话 网络安全自学教程王山石 春秋学院网络安全吗 监管征信机构通信网络安全 网络安全经典句子 学籍管理系统 数据库设计 指纹存储数据库 华为游戏中心服务器连接不上 软件技术还是计算机网络技术 网络安全验证失败是什么意思 江西工业软件开发费用 热拉找不到服务器 江西仓储生鲜配送软件开发 比较矢量数据和栅格数据库 安徽多媒体软件开发 河北数据库安全箱性价比 世界服务器如何创建 服务器远程桌面账号管理 软件开发专业受色盲限制吗 视频管理服务器r410 大量图片管理如何与服务器同步 美国在那一年公布网络安全 中国联通集团网络技术研究院 浙江版高一网络技术应用 制造软件开发需要学什么 为什么打联盟老是无法连接服务器 重庆服务器硬盘参数 社区网络安全活动记录 笔记本网络安全不可用
0