画像が HBox に読み込まれる動的レイアウトがあります。
<mx:HBox ...>
<mx:Image height="100%" .../>
</mx:HBox>
画像には画像の高さのみが設定されているため、使用可能なすべての垂直方向のスペースを使用できますが、幅は未定義のままで、幅は高さに応じてスケーリングされると予想されます。
画像の高さが contentHeight と等しいことがわかります。つまり、高さは適切にスケーリングされます。ただし、画像の幅は測定幅 (画像の元の幅) と同じままであり、それに応じてスケーリングされません。
たとえば、画像の元のサイズが 800x600 で、HBox の高さが 300 の場合、画像の高さは 300 に縮小されますが、幅は 400 に縮小されず、代わりに 800 のままになります。
画像の幅を明示的に設定するイベント リスナーを追加しようとしました。
<mx:Image id="img" height="100%" updateComplete="img.width=img.contentWidth;" .../>
画像が初めてロードされたときにのみ機能します。その後、 Image.load() を使用してさまざまな画像を動的にロードすると、機能が停止します-画像の幅が0に設定されます。
ヘルプ/アドバイスをいただければ幸いです。