TImage に PNG (32 ビット) 画像があります。フォームにはガラス フレームがあります。写真の背景は透明ではなく黒です。修正方法は?
デルファイ 2010.
ありがとう。
TImage に PNG (32 ビット) 画像があります。フォームにはガラス フレームがあります。写真の背景は透明ではなく黒です。修正方法は?
デルファイ 2010.
ありがとう。
回避策として、png 画像のビットを 32 に変更できます。
このサンプルを確認してください
左の画像は 8 ビットの PNG で、もう 1 つは 32 ビットの PNG です。
ブリットを正しく処理しないため、TImage については忘れてください。フォームに画像を手動で描画するには、GDI+ を使用する必要があります。それは「ガラス」だからです。TImage(または実際に表示されているTGraphic)のままにしておくと、「背景」(ガラス)がメモリにコピーされ、その上に透明なグラフィック(png?)が構成され、ブリットバックされます。彼は形成します。残念ながら、「背景」(ガラス) は、blt back すると黒くなります。
そのため、GDI+ (google it) を使用し、bitmap.handle を使用して blt を使用します。ビットマップが透明であることを確認してください (つまり、32 ビットと適切なプロパティ セット)。
ところで、ガラスのフォントと同じです。自分で描画する必要があります (おそらくカスタム コンポーネントから?)。ただし、これを行ういくつかのコンポーネントを既に見つけることができます... http://development.mwcs.de/glowlabel.htmlのように。