Dart & Flutter 開發技巧 8-14
1164
2025-04-01
引言
作為開發者的我們,經常會做一些上傳圖片和和保存圖片啦的功能,但是由于一些圖片非常大,我們在上傳或者保存的時候會占用大量的網絡資源和本地資源,那么我們需要做的就是對圖片進行壓縮。
昨天在寫如何接入微信分享的時候用到一個知識點,就是圖片壓縮
當時我用了flutter_image_compress
可能大家都知道Dart 已經有圖片壓縮庫了。為什么要使用原生?
還不是因為他的效率問題,
所以今天就和大家來說一說它的具體用法吧。
1.flutter_image_compress
安裝
dependencies: flutter_image_compress: ^1.0.0-nullsafety
使用的地方導入
import 'package:flutter_image_compress/flutter_image_compress.dart';
/// 圖片壓縮 File -> Uint8List Future
還有另外兩種方式
2.使用 image_picker 包的 imageQuality 參數
圖像選擇器
3.使用 flutter_native_image 包
flutter_native_image
安裝
flutter_native_image: ^0.0.6
文檔地址
https://pub.flutter-io.cn/packages/flutter_native_image
用法
Future
關于如何計算所選文件的圖像大小的嗎?
您可以以字節為單位獲取文件長度,并以千字節或兆字節等計算。
像這樣:file.readAsBytesSync().lengthInBytes -> 文件大小以字節為單位的文件大小
(file.readAsBytesSync().lengthInBytes) / 1024 -> 文件大小以千字節為單位的文件大小
(file.readAsBytesSync().lengthInBytes) / 1024 / 1024 -> 文件大小以兆字節為單位
總結
今天的文章介紹了圖片壓縮的三種用法,分別對應三個不同的庫,大家可以去實踐,來對比一下那個庫的性能更好。
好的,我是堅果,公眾號有更多精彩內容,期待你的發現.
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。