【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");
    }
    }
相关推荐
勤劳打代码1 小时前
触类旁通 —— Flutter 与 React 对比解析
前端·flutter·react native
消失的旧时光-194317 小时前
Flutter Event Loop
flutter
程序员老刘18 小时前
跨平台开发地图:客户端技术选型指南 | 2025年10月
flutter·react native·客户端
傅里叶19 小时前
Flutter 工程环境、插件使用、protobuf配置与字体/持久化管理
flutter
傅里叶19 小时前
Flutter之《环境与依赖配置》
flutter
大雷神20 小时前
【成长纪实】HarmonyOS中ArkTS与Flutter数据类型对比详解
flutter
未来猫咪花1 天前
Riverpod 3.0:一个过度设计的反面教材
flutter
消失的旧时光-19431 天前
Flutter 并发编程全解:从零掌握 Isolate
flutter
西西学代码1 天前
Flutter---EQ均衡器
flutter
LinXunFeng2 天前
Flutter webview 崩溃率上升怎么办?我的分析与解决方案
flutter·ios·webview