【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");
    }
    }
相关推荐
不爱吃糖的程序媛4 小时前
Flutter 三方库适配鸿蒙教程
flutter·华为·harmonyos
2501_919749038 小时前
鸿蒙 Flutter 实战:video_compress 3.1.4 适配 3.27-ohos 全流程
flutter·华为·harmonyos
h64648564h10 小时前
Flutter 国际化(i18n)全指南:一键切换中/英/日多语言
前端·javascript·flutter
kTR2hD1qb15 小时前
Flutter 复杂拖拽排序实战:同源排序 + 跨容器拖拽完整落地
flutter
jingling55516 小时前
Flutter | Dio网络请求实战
android·开发语言·前端·flutter
stringwu18 小时前
Flutter 复杂拖拽排序实战:同源排序 + 跨容器拖拽完整落地
flutter
UnicornDev19 小时前
【Flutter x HarmonyOS 6】设置页面的UI设计
flutter·ui·华为·harmonyos·鸿蒙
G_dou_20 小时前
Flutter+OpenHarmony实战:XMB Tracke
flutter·harmonyos·鸿蒙
●VON1 天前
鸿蒙Flutter实战:分类管理页BottomSheet CRUD
数据库·flutter·华为·harmonyos·鸿蒙
woodWu1 天前
Flutter 复杂拖拽排序实战:同源排序 + 跨容器拖拽完整落地
flutter