我有一个窗口,我在其中显示一张图片.我希望用户能够调整此窗口的大小,但保持它与图像的纵横比相同,因此窗口上不会出现大的空白区域.
我在OnResize事件中尝试的是这样的:
DragWidth := Width;
DragHeight := Height;
//Calculate corresponding size with aspect ratio
//...
//Calculated values are now in CalcWidth and CalcHeight
Width := CalcWidth;
Height := CalcHeight;
Run Code Online (Sandbox Code Playgroud)
问题是,在原始调整大小和计算值之间调整大小时窗口会闪烁,因为在调整大小已经完成(并绘制一次)之后调用OnResize事件.
你知道任何解决方案是否有平滑的宽高比调整大小?
谢谢你的帮助.