generateThumbnailAndSave static method
Future<ImageResult<String> >
generateThumbnailAndSave(
- dynamic source,
- String savePath, {
- int maxWidth = 150,
- int maxHeight = 150,
- int quality = 80,
- ThumbnailFormat format = ThumbnailFormat.jpeg,
生成缩略图并保存到指定路径
source 同 generateThumbnail
savePath 完整的保存路径(含文件名和扩展名),由调用方保证目录存在
其余参数同 generateThumbnail
返回 ImageResult<String>,data 为保存的文件路径。
Implementation
static Future<ImageResult<String>> generateThumbnailAndSave(
dynamic source,
String savePath, {
int maxWidth = 150,
int maxHeight = 150,
int quality = 80,
ThumbnailFormat format = ThumbnailFormat.jpeg,
}) async {
final result = await generateThumbnail(
source,
maxWidth: maxWidth,
maxHeight: maxHeight,
quality: quality,
format: format,
);
if (!result.isSuccess) {
return ImageResult.failure(result.error!);
}
try {
final outFile = File(savePath);
final outDir = outFile.parent;
if (!await outDir.exists()) {
await outDir.create(recursive: true);
}
await outFile.writeAsBytes(result.data!);
return ImageResult.success(savePath);
} catch (e) {
return ImageResult.failure('写入文件失败: $e');
}
}