TImageで表示されている画像の現在のサイズを取得したいのですが、このオブジェクトのProportionalプロパティはTrueに設定されており、メインフォームでClientに配置されています。したがって、フォームのサイズを変更するときは、キャンバスサイズではなく、その画像の実際のサイズではなく、その画像の現在のサイズを取得したいと思います。現在のサイズを取得する実際の画像サイズに対する現在の画像サイズのパーセンテージを表示できます。前もって感謝します
3123 次
3 に答える
4
これを行うための組み込みの方法はないと思います。あなたはそれを計算する必要があるかもしれません。このようなもの:
- キャンバスの高さと幅を取得します。
- 画像の
Picture
プロパティの高さと幅を取得します。 - キャンバスの寸法に対する画像の寸法の比率を計算します。
- 2つの比率のどちらか小さい方が、パーセンテージです。
于 2009-08-11T18:24:46.927 に答える
1
Image1.Picture.Widthまたは.HeightをImage1.Widthまたは.Heightと比較できます。
画像が水平方向または垂直方向のどちらの寸法を使用して比例して伸ばされているかを知るには、2つの比率を比較する必要があります。
if Image1.Width/Image1.Height > Image1.Picture.Width/Image1.Picture.Height then
Result:=Image1.Picture.Width/Image1.Width
else
Result:=Image1.Picture.Height/Image1.Height;
数学的なトリックを使用して除算を乗算に変換すると、float値への変換を回避できます。これは、次を使用することで少し速く計算されます。
if Image1.Width*Image1.Picture.Height >Image1.Picture.Width*Image1.Height then
于 2009-08-12T12:21:13.623 に答える
0
この画像を仮想TCanvas(またはその他)にロードし、プロパティProportionalをFalseのままにします。これで、画像の元のサイズを取得できます。画像が通常非常に大きい場合は、外部のグラフィカルライブラリを使用する必要があります。
于 2009-08-12T07:31:27.257 に答える