generateAssets method
void
generateAssets(- {required String inputImagePath,
- required String imageToSaveDirectoryName}
)
Implementation
void generateAssets({
required String inputImagePath,
required String imageToSaveDirectoryName,
}) {
try {
final File inputFile = File(inputImagePath);
String inputFileName = basename(inputFile.path);
final Image? image = decodeImage(inputFile.readAsBytesSync());
if (image == null) {
Utility.errorPrinter(text: '$kError $kImageDecodingErrorMessage');
return;
}
/// Generate 1x image
String oneXDirPath = "$kAssetsImagesPath$imageToSaveDirectoryName";
Utility.createFolder(path: oneXDirPath);
final Image image1x = copyResize(
image,
width: image.width ~/ 3,
height: image.height ~/ 3,
);
File('$oneXDirPath/$inputFileName').writeAsBytesSync(
encodePng(image1x),
);
/// Generate 2x image
String twoXDirPath =
"$kAssetsImagesPath$imageToSaveDirectoryName$kImageTwoX";
Utility.createFolder(path: twoXDirPath);
final Image image2x = copyResize(
image,
width: image.width ~/ 1.5,
height: image.width ~/ 1.5,
);
File('$twoXDirPath/$inputFileName').writeAsBytesSync(
encodePng(image2x),
);
/// Generate 3x image
String threeXDirPath =
"$kAssetsImagesPath$imageToSaveDirectoryName$kImageThreeX";
Utility.createFolder(path: threeXDirPath);
File('$threeXDirPath/$inputFileName').writeAsBytesSync(
encodePng(image),
);
Utility.successPrinter(text: kImageGeneratedSuccessMessage);
} catch (e) {
Utility.errorPrinter(text: '$kError $e');
exit(1);
}
}