1

XE5 では、TImage を使用して、ビットマップをプロポーショナル ディメンションで引き伸ばすにはどうすればよいですか? TImage の幅は 200 ピクセル、高さは 300 ピクセルです。ビットマップの幅は 130、高さは 80 です。Image1.WrapMode を iwStretch に設定すると、ビットマップは TImage の領域に合わせてサイズ変更されますが、TImage のスケール比率ではなく、ビットマップが「太すぎ」て表示されます。

どうもありがとう。

4

1 に答える 1

0

比率を維持するには、「スケール」プロパティを使用できます。たとえば、フォームの img (TImage) に画像をロードし、拡大縮小するボタンを使用して、次の操作を実行できます。

procedure THeaderFooterForm.Button5Click(Sender: TObject);
var testScale : Single;
begin
 img.WrapMode := TImageWrapMode.iwOriginal;
 testScale :=  img.Width / img.Bitmap.Width;
 if (img.Height / img.Bitmap.Height) < testScale then
    testScale := img.Height / img.Bitmap.Height;


 img.Scale.X := testScale;
 img.Scale.Y := testScale;



end;
于 2014-02-04T19:06:14.143 に答える