Image Compression
A Dart Extension for image package to compress and resize the images.
If you want to build for Flutter, use image_compression_flutter package. It support native compression and WEBP format conversion (Android
& iOS
only).
Sync Compression
import 'dart:io';
import 'package:image_compression/image_compression.dart';
void main() {
final file = File('/path/to/image/file.jpg');
final input = ImageFile(
rawBytes: file.readAsBytesSync(),
filePath: file.path,
);
final output = compress(ImageFileConfiguration(input: input));
print('Input size = ${file.lengthSync()}');
print('Output size = ${output.sizeInBytes}');
}
Async Compression
import 'dart:io';
import 'package:image_compression/image_compression.dart';
void main() {
final file = File('/path/to/image/file.jpg');
final input = ImageFile(
rawBytes: file.readAsBytesSync(),
filePath: file.path,
);
final output = await compressInQueue(ImageFileConfiguration(input: input));
print('Input size = ${file.lengthSync()}');
print('Output size = ${output.sizeInBytes}');
}
Libraries
- image_compression
- Library image compression
- image_compression_html
- image_compression_io