Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Transparenz Farbe (https://www.delphipraxis.net/13307-transparenz-farbe.html)

cylon 15. Dez 2003 20:22


Transparenz Farbe
 
Hi,
ich programmier im Moment nen RPG mit Delphi und da hab ich ne Frage. Also wie stellt man ein welche Farbe die transparente Farbe sein soll? (z. B. in einem Bild)
Versteht ihr?

Gandalfus 15. Dez 2003 20:51

Re: Transparenz Farbe
 
TBitmap.TransparentColor

cylon 15. Dez 2003 20:57

Re: Transparenz Farbe
 
Ok..aber..ich bin newbie im delphi programmieren und deshalb hab ich leider keine ahnung wie man den befehl in den compiler eingibt.. :oops:
muss man den in ne procedure packen, oder wie? :wiejetzt:

Sanchez 15. Dez 2003 21:02

Re: Transparenz Farbe
 
Das lässt sich direkt im Objekt Inspektor aus einstellen. Genau so wie du den Text deiner Labels setzt.

cylon 15. Dez 2003 21:07

Re: Transparenz Farbe
 
Bei mir läuft das ganze allerdings über TImage und nicht über TBitmap und da finde ich so eine Eigenschaft gar nicht. Da steht nur was von Transparent. (entweder True oder False)
Ich hab das Objekt TBitmap bisher nicht gefunden bei den Komponenten.
Oder ist TImage und TBitmap das gleiche?? :?:

Sanchez 15. Dez 2003 21:21

Re: Transparenz Farbe
 
Ne ist nicht das gleiche ein TImage beinhaltet ein TPicture welches wieder ein TBitmap beinhaltet.

Dann kanst du immer noch im OnCreate sagen:

Delphi-Quellcode:
  Image1.Picture.Bitmap.TransparentColor := xxx;
grüße, daniel

H4ndy 16. Dez 2003 08:13

Re: Transparenz Farbe
 
Soweit ich weiss wird, wenn du Trasparent := True
setzt, wird die Farbe des oberen linken Pixels des Bildes
als Trasparentfarbe genommen!

sakura 16. Dez 2003 08:15

Re: Transparenz Farbe
 
Zitat:

Zitat von H4ndy
wird die Farbe des oberen linken Pixels des Bildes

Fast, der untere linke Pixel. ;-)

...:cat:...

cylon 16. Dez 2003 13:12

Re: Transparenz Farbe
 
hmm..also ich hab das mal asprobiert und folgendes eingegeben:
Code:
procedure TFormStart.FormCreate(Sender: TObject);
begin
 ImageNS.picture.Bitmap.TransparentColor := 000000;
end;
(wobei ich nicht genau weiß ob 000000 der code für schwarz ist)
und als ich das dann getestet hab, war bei mir das ganze bild, bei dem ich schwarz transparent haben wollte, transparent.

und das mit dem linken unteren pixel geht auch nich...
(ich hab übrigens delphi 5 Professional <- falls das weiterhilft)...

ich hoffe ich krieg das irgendwann mal hin...

Sanchez 16. Dez 2003 13:16

Re: Transparenz Farbe
 
Schwarz ist übrigens clBlack oder $00000000.
Bei der Zahlenkodierung steht das erste Byte (die ersten beiden Zahlen) für (wie die OH so schön schreibt):

Zitat:

Hat das höchstwertige Byte den Wert Null ($00), erhalten Sie eine Farbe, die derjenigen in der Systempalette am ähnlichsten ist. Ist das höchstwertige Byte Eins ($01), ergibt das eine Farbe, die derjenigen in der aktuell realisierten Palette am ähnlichsten ist. Wenn Sie das höchstwertige Byte auf Zwei ($02) setzen, wird der Wert an die ähnlichste Farbe in der logischen Palette des aktuellen Gerätekontexts angepaßt.
Die restlichen drei Bytes sind die Werte für die Farben, allerdings nicht RGB sondern BGR

cylon 16. Dez 2003 13:26

Re: Transparenz Farbe
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich hab hier jetzt mal die exe hochgeladen, um das zu zeigen...
So sieht das bei mir aus..
Aber um die einzelnen Buttons soll das schwarz weg. Das geht aber nicht.
entweder das bleibt so oder der GANZE Button ist transparent. :gruebel:

Also ich hab überhaupt keine Ahnung...

Gandalfus 16. Dez 2003 14:02

Re: Transparenz Farbe
 
Zitat:

Zitat von cylon
hmm..also ich hab das mal asprobiert und folgendes eingegeben:
(wobei ich nicht genau weiß ob 000000 der code für schwarz ist)

clblack ist schwarz.

cylon 16. Dez 2003 15:41

Re: Transparenz Farbe
 
Sanchez schrieb:
Zitat:

Ne ist nicht das gleiche ein TImage beinhaltet ein TPicture welches wieder ein TBitmap beinhaltet.
Ich hab aber nen JPEG Bild. Geht das damit nicht?? Ich werd es mal zu nem Bitmap machen. Mal sehen obs geht.

cylon 16. Dez 2003 17:54

Re: Transparenz Farbe
 
Also hier in Delphi kann ich garnix mehr machen, was Transparenz angeht...
Ob ich das hier schreibe:
Code:
procedure TFormStart.FormCreate(Sender: TObject);
begin
 ImageNS.Picture.Bitmap.TransparentColor := $00000000 ;
end;
oder das hier:
Code:
procedure TFormStart.FormCreate(Sender: TObject);
begin
 ImageNS.Picture.Bitmap.TransparentColor := clblack ;
end;
oder nen bitmap anstatt nem JPEG bild verwende

oder einfach nur im OI bei dem Bild was ich transparent haben will die Eigenschaft 'Transparent' auf 'True' setzte...

NIX ÄNDERT SICH...... :wall:

Gandalfus 16. Dez 2003 18:42

Re: Transparenz Farbe
 
probiere mal volgendes:

Delphi-Quellcode:
var
  test: TBitmap;
oncreate:
Delphi-Quellcode:
test := TBitmap.create;
 test.loadfromfile('c:\XXXXX\XXXX.bmp');{<-- das bild mal mit paint erstellen}
 test.PixelFormat := pf24bit;
 test.transparentcolor := clblack;
 test.transparent := true;
onpaint(des Formulars):
Delphi-Quellcode:
Canvas.draw(10,10,test);
onclose:
Delphi-Quellcode:
test.free;


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:20 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz