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月号より)