Migaro. 技術Tips

                       

ミガロ. 製品の技術情報
IBMiの活用に役立つ情報を掲載!


Delphi TImageの便利なプロパティ(VCL)

Delphi/400で開発する際にTImageを利用すると、画像を簡単に利用することが可能です。
今回はそのTImageにある便利なプロパティについてご紹介します。


CenterプロパティはデフォルトではFalseですが、
その場合、画像はコントロールの左上隅に位置づけされます。
このプロパティをTrueに設定すると、画像をコントロールの中央に配置することが可能です。

Stretchプロパティはコントロールの枠に完全に入るように画像を変更するか設定できます。
Trueにすると画像がTImageのサイズに合わせて伸縮しますが、
画像の高さと幅が独立して変更されるため、縦横比が崩れることもあります。
崩れないようにするには、ProportionalプロパティをTrueにすることで、
縦横比が固定されて、コントロールの枠内に伸縮されます。
(両方をTrueにすると、伸縮と縦横比維持を両立できます。)

また画像をコントロールに合わせてサイズを変更するのではなく、
画像に合わせてコントロールのサイズを変更するには、
Stretchプロパティの代わりにAutoSizeプロパティをTrueにして使用します。

最後に画像の透過が行えるTransparentプロパティについてご説明します。
(なおこのプロパティが有効になるのはBMP画像のみですので、ご注意下さい。)
Trueにすると画像の一番左下にある色が透過されますが、
透過する色を指定するにはTransparentColorプロパティから設定します。
この指定は設計画面では行えず、コード上からの設定になります。

(例)
  Image1.Picture.Bitmap.TransparentColor := $FFFFFF; //白色

 

【各プロパティ設定時のイメージ】

 

【補足】

  • JPEG画像をTImageで扱う場合、そのユニットのuses節に「Vcl.Imaging.jpeg」が必要です。(XE以前は「jpeg」)
  • GIF画像をTImageで扱う場合、そのユニットのuses節に「Vcl.Imaging.GIFImg」が必要です。(XE以前は「GIFImg」)
    ※画像の透過情報は失われます。またGIFアニメーションには対応していません。
  • PNG画像をTImageで扱う場合、そのユニットのuses節に「Vcl.Imaging.pngimage」が必要です。(XE以前は「pngimage」)
    ※画像の透過情報は失われます。

 

 

(ミガロ.情報マガジン「MIGARO News!!」Vol.130 2011年9月号より)