generateImageThumbnailFromBinary method
Implementation
@override
Uint8List? generateImageThumbnailFromBinary(
Uint8List imageBytes,
) {
try {
final image = decodeImage(imageBytes);
const int maxSize = 300;
bool isWidthDominant = image!.width > image.height;
if (isWidthDominant && image.width <= maxSize) return imageBytes;
if (!isWidthDominant && image.height <= maxSize) return imageBytes;
double aspectRatio =
isWidthDominant ? image.width / image.height : image.height / image.width;
int resizeWidth = isWidthDominant ? maxSize : (maxSize / aspectRatio).round();
int resizeHeight = isWidthDominant ? (maxSize / aspectRatio).round() : maxSize;
return resizeImage(imageBytes, resizeWidth, resizeHeight);
} catch (err) {
logger.severe('Error at StorageUtilImpl.generateImageThumbnail >>> $err');
return null;
}
}