【flutter压缩Uint8List图片大小】

如果没有引入flutter_cache_manager库需要引入

例如flutter_cache_manager: 3.3.0

dart 复制代码
import 'package:image/image.dart' as image;
import 'package:flutter_cache_manager/flutter_cache_manager.dart';

_compressImage(String mirrorImage){
	Uint8List imageBytes;
    if(mirrorImage.startsWith('http')){
      final File file = await DefaultCacheManager().getSingleFile(mirrorImage);
      final image.Image thumbnail = image.decodeImage(file.readAsBytesSync());
      imageBytes = thumbnail.getBytes();
    }else{
      imageBytes = await File(mirrorImage).readAsBytes();
    }
 	print("图片初始大小:${imageBytes .length/ 1024 /1024}MB");
    if (imageBytes.length > 1024 * 1024 * 0.5) {
      int _quality = 90;
      while(imageBytes.length > 1024 * 1024 * 0.5 && _quality>0){
        imageBytes = Uint8List.fromList(image.encodeJpg(thumbnail,quality: _quality));
        _quality -= 2;
      }
      print("图片压缩后大小:${thumbData.length} ${thumbData.length/ 1024 / 1024}MB");
    }
    }
相关推荐
renke33643 小时前
Flutter for OpenHarmony:色彩捕手——基于HSL色轮与感知色差的交互式色觉训练系统
flutter
子春一5 小时前
Flutter for OpenHarmony:构建一个 Flutter 四色猜谜游戏,深入解析密码逻辑、反馈算法与经典益智游戏重构
算法·flutter·游戏
铅笔侠_小龙虾5 小时前
Flutter 实战: 计算器
开发语言·javascript·flutter
微祎_7 小时前
Flutter for OpenHarmony:构建一个 Flutter 重力弹球游戏,2D 物理引擎、手势交互与关卡设计的工程实现
flutter·游戏·交互
一起养小猫7 小时前
Flutter for OpenHarmony 实战_魔方应用UI设计与交互优化
flutter·ui·交互·harmonyos
hudawei9967 小时前
flutter和Android动画的对比
android·flutter·动画
一只大侠的侠8 小时前
Flutter开源鸿蒙跨平台训练营 Day7Flutter+ArkTS双方案实现轮播图+搜索框+导航组件
flutter·开源·harmonyos
一只大侠的侠9 小时前
Flutter开源鸿蒙跨平台训练营 Day9分类数据的获取与渲染实现
flutter·开源·harmonyos
一只大侠的侠9 小时前
Flutter开源鸿蒙跨平台训练营 Day 5Flutter开发鸿蒙电商应用
flutter·开源·harmonyos
ZH154558913110 小时前
Flutter for OpenHarmony Python学习助手实战:GUI桌面应用开发的实现
python·学习·flutter