我在一個可調整大小的表單上有一個TImage,我希望當我調整表單大小時,它能調整大小。
我所嘗試的是:
- 啟用所有的
Anchors選項 。
- 將
TImage放在TPanel上,然后將Panel和Image的對齊方式都設為alClient。
- 在表單的
OnResize事件中指定新的Width和Height。
這些都不能完成作業。
這是默認的。
這就是默認的表單尺寸。TImage只要左邊的任何引數發生變化,或者影像被放大/縮小(使用滑鼠滾輪),就會重新繪制。在每次重繪時,圖案都會重復,直到它填滿整個TImage。
而這是調整大小后的表格。請注意,圖片的大小沒有變化。
啟用Stretch屬性確實有效,但它也會縮放圖片的內容,這是我不想要的。
我怎樣才能解決這個問題呢?
我使用的是Delphi 10.3
。uj5u.com熱心網友回復:
重新閱讀你的描述,我看到了問題所在。
當影像尺寸改變時,如果拉伸功能關閉,內部圖片不會改變其尺寸。你必須用手來修改內部位圖的大小:
Image2.Picture.Bitmap.Width :=Image2.Width;
Image2.Picture.Bitmap.Height := Image2.Height。
//現在對角線被正確地畫出來了。
Image2.Canvas.MoveTo(0, 0) 。
Image2.Canvas.LineTo(Image2.Width, Image2.Height)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/316476.html
標籤:


