AppInventor 2:按比例调整图像 (Canvas) 大小以填充 space

AppInventor 2: resize image (Canvas) proportionally to fill the space

我有 CanvasBackgroundImage(由用户选择)应该填满所有可用的 space。

但是如果我将 Canvas Height/Width 设置为 Fill 它就会简单地不按比例拉伸。

并且 Automatic 由于某种原因它太小了,比原始图像小得多(在 Genymotion 模拟器和 OnePlus 3T 上测试Android 8,在两个屏幕方向)。

是否可以在保持纵横比的同时将其调整到最大可能的大小?

如果我能以块为单位获取图像大小会很容易,但我看不出有什么方法可以做到这一点。我也尝试使用 Canvas Width/Height 但看起来它们在设置图像后(在屏幕初始化期间)没有立即更新,我没有看到任何其他事件。

使用Clock解决了(小间隔定时器,比如100)。

它似乎在我的问题 (1920x1080) 中的图像上按预期工作。然而,在某些图像上,我注意到奇怪的质量问题,比如它是一个被调整为更大尺寸的小图像(在包含文本的图像上尤其明显),即使它在其他查看器中工作正常。但它可能与此调整大小无关(我什至尝试在调整大小后再次清除并设置 BackgroundImage),这是一个类似的报告:https://groups.google.com/forum/#!topic/mitappinventortest/_Iro4UKNE1Q