Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Transparenter Hintergrund bei Komponenten


Tweafis - Sa 31.05.03 13:41
Titel: Transparenter Hintergrund bei Komponenten
Ich programmiere gerade eine Uhr-Komponente und habe keinen Plan wie ich es anstellen soll, dass Der Hintergrund durchsichtig (=nicht sichtbar) wird.

Ich zeichne nichts direkt auf das Canvas der Komponente sondern in den Speicher (DBuffer: TBitmap)

Delphi-Quelltext
1:
2:
Canvas.Draw(0,0,DBuffer);
DBuffer.free;

TransparentColor und TransparentMode weiß ich net wie funzt...

Thx, Fis


tommie-lie - Sa 31.05.03 15:50

Wenn der untere, linke Pixel die Farbe hat, die du Transparent haben möchtest (z.B. weiß oder grau oder auch Fuchsia), dann reicht es, die Transparent-Werte auf den Standardeinstellungen zu lassen und einfach

Delphi-Quelltext
1:
2:
3:
DBuffer.Transparent := True;
Canvas.Draw(0,0,DBuffer);
DBuffer.free;

zu benutzen.
Wenn nicht, musst du gucken, welche Farbe du transparent haben willst und folgendes machen:

Delphi-Quelltext
1:
2:
3:
4:
5:
DBuffer.TransparentMode := tmFixed;
DBuffer.TransparentColor := [die gewünschte farbe];
DBuffer.Transparent := True;
Canvas.Draw(0,0,DBuffer);
DBuffer.Free;

zu benutzen.
Die Farbe kannst du sowohl als Farbconstante (z.B. clWhite, clBack usw) angeben, als auch als RGB-Wert (z.B. $000000FF für Rot).


Tweafis - Sa 31.05.03 15:59

ThxThXThX

aber ich hab trotzdem noch ein Problem (hat nichts mit Transparenz zu tun) *in neues Thema schreib*