calculateImageSize function
Implementation
Size calculateImageSize(ui.Image image, Size contentSize) {
// 获取图片的原始宽高
final originalWidth = image.width.toDouble();
final originalHeight = image.height.toDouble();
// 计算最大可用高度和宽度
final maxHeight = contentSize.height - 100;
final maxWidth = contentSize.width;
// 计算图片在容器中全部展示出来时的宽高值
double displayWidth = maxWidth;
double displayHeight = maxHeight;
if (originalWidth / originalHeight > maxWidth / maxHeight) {
// 图片宽高比大于容器宽高比,按宽度缩放
displayHeight = (originalHeight / originalWidth) * maxWidth;
} else {
// 图片宽高比小于或等于容器宽高比,按高度缩放
displayWidth = (originalWidth / originalHeight) * maxHeight;
}
return Size(displayWidth, displayHeight);
}