TImage 不调整大小

TImage does not resize

我在可调整大小的表单上有一个 TImage,我希望它在我调整表单大小时调整大小。

我尝试了什么:

None 这些都可以。

这是默认的表单大小。 TImage 会在左侧的任何参数更改或图像缩放 in/out(使用鼠标滚轮)时重新绘制。在每次重绘时,模式都会重复,直到填满整个 TImage.

这是调整大小后的表格。请注意,图像大小保持不变。

启用 Stretch 属性 确实有效,但它也会缩放图像的内容,这是我不想要的。

我该如何解决这个问题?

我在 Delphi 10.3

重新阅读你的描述,我明白了问题所在。

当图像尺寸发生变化时,如果关闭拉伸,内部图片不会改变其大小。您必须手动修改内部位图大小:

Image2.Picture.Bitmap.Width := Image2.Width;
Image2.Picture.Bitmap.Height := Image2.Height;
//now diagonal is drawn properly
Image2.Canvas.MoveTo(0, 0);
Image2.Canvas.LineTo(Image2.Width, Image2.Height);