【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");
    }
    }
相关推荐
cn_mengbei35 分钟前
Flutter for OpenHarmony 实战:TextFormField 表单输入框详解
flutter
奋斗的小青年!!38 分钟前
Flutter跨平台开发适配OpenHarmony:手势识别实战应用
flutter·harmonyos·鸿蒙
cn_mengbei40 分钟前
Flutter for OpenHarmony 实战:TextField 文本输入框详解
flutter
西西学代码1 小时前
Flutter---常见的ICON图标
flutter
LawrenceLan2 小时前
Flutter 零基础入门(十):final、const 与不可变数据
开发语言·flutter·dart
行者962 小时前
Flutter跨平台开发:安全检测组件适配OpenHarmony
flutter·harmonyos·鸿蒙
小雨下雨的雨3 小时前
Flutter 框架跨平台鸿蒙开发 —— GridView 控件之多维网格美学
flutter·华为·交互·harmonyos·鸿蒙系统
cn_mengbei3 小时前
Flutter for OpenHarmony 实战:ElevatedButton 悬浮按钮详解
flutter
不爱吃糖的程序媛3 小时前
OpenHarmony跨端生态适配全指南|Flutter/RN/三方库/C/C++/仓颉 鸿蒙化最佳实践
c语言·c++·flutter
小雨下雨的雨4 小时前
Flutter跨平台开发实战: 鸿蒙与循环交互艺术:无限循环的 Banner 引擎
flutter·ui·华为·交互·harmonyos·鸿蒙系统