在Flutter上进行Boxfit后,如何在屏幕上获得真实的图像尺寸

时间:2019-11-06 10:09:32

标签: flutter flutter-layout

我使用以下代码在屏幕上绘制图像。我想在此图像上方绘制覆盖图。但是,当图像高度较大时,boxfit会减小图像宽度。发生这种情况时,我无法计算图像的顶部和左侧绘制位置。图像的宽度和高度仍与屏幕尺寸相等,但是图像宽度的绘制以两侧带有间隙的居中位置为准,明显小于屏幕尺寸。

是否有一种方法可以计算出正确的尺寸和顶部,图像对尺寸进行拟合后,该位置就离开了位置。

return Image.memory(
     imageBytes,
     width: reqWidth,
     height: reqHeight,
     filterQuality: FilterQuality.high,
     fit: BoxFit.fitHeight,
);

1 个答案:

答案 0 :(得分:0)

使用applyBoxFit(BoxFit.fitHeight, widgetSize, imageSize)

地点:

  • widgetSize - 渲染图像小部件的大小。在您的情况下,它是 Size(reqWidth, reqHeight)
  • imageSize - 图像资产的大小(以像素为单位)。 How to get image size

参考资料: applyBoxFit