TImageListからTPictureを取得するにはどうすればよいですか?
Image1.Picture:=...TPicture
画像をTImageに読み込むには、画像リストから行う必要があります。
画像リストには、透明なすべてのPNG画像が保存されます。
ビットマップ()を使おうとしましたGetBitmap
が、必要なのは透明度です。残念ながら、ビットマップを使用して背景が白になっています。
ありがとう!
TImageListからTPictureを取得するにはどうすればよいですか?
Image1.Picture:=...TPicture
画像をTImageに読み込むには、画像リストから行う必要があります。
画像リストには、透明なすべてのPNG画像が保存されます。
ビットマップ()を使おうとしましたGetBitmap
が、必要なのは透明度です。残念ながら、ビットマップを使用して背景が白になっています。
ありがとう!
通常のTImageListはビットマップを使用します。それらは部分的に透明にすることができますが、実際には単なる偽物です。Delphiでは、ビットマップに単一の透明色を割り当てることで、ビットマップを透明に描画できます。その正確な色は100%透明に描画されますが、他の色はそうではありません。通常、色は画像の左下隅から取得されます。
TPicture自体は何もしません。これは、TGraphicの子孫の単なるコンテナです。透明にできる画像の種類を見つける必要があります。
便利なフォーマットはPNGです。PNGイベントはアルファチャネルをサポートします。これは、すべてのピクセルに異なる透明度値を割り当てることができることを意味します。
幸い、TImageListの使いやすさとPNGの機能を組み合わせたTPngImageListsがあります。この記事を読むことができます。オランダ語ですが、多分グーグル翻訳があなたを助けることができます。または、このテーマに関する英語のリソースを見つけることができるかもしれません。私はこのイメージリストを使用しましたが、アルファチャネルを使用して実際のアイコンを作成し、通常のツールバーやスピードボタンで使用できるので便利です。