【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");
    }
    }
相关推荐
克喵的水银蛇7 分钟前
Flutter 通用骨架屏封装实战:提升加载体验的 SkeletonWidget
flutter
子春一20 分钟前
Flutter 测试体系全栈指南:从单元测试到 E2E,构建坚如磐石的高质量应用
flutter·单元测试
雨季66627 分钟前
Flutter 智慧政务服务平台:跨端协同打造高效便民办事生态
flutter
5008437 分钟前
鸿蒙 Flutter 权限管理进阶:动态权限、权限组、兼容处理与用户引导
flutter·华为·架构·wpf·开源鸿蒙
stringwu2 小时前
Flutter PopScope:iOS左滑返回失效分析与方案探讨
flutter
500842 小时前
鸿蒙 Flutter 蓝牙与 IoT 开发进阶:BLE 设备连接、数据交互与设备管理
flutter·华为·electron·wpf·开源鸿蒙
子春一2 小时前
Flutter 测试金字塔:从单元测试到端到端验证的完整工程实践
flutter·单元测试
kirk_wang2 小时前
Flutter 图表库 fl_chart 鸿蒙端适配实践
flutter·移动开发·跨平台·arkts·鸿蒙
空中海2 小时前
1.Flutter 简介与架构原理
flutter·架构
晚霞的不甘3 小时前
从单设备到全场景:用 Flutter + OpenHarmony 构建“超级应用”的完整架构指南
flutter·架构