Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi bitmap dursichtig zeichnen (https://www.delphipraxis.net/7485-bitmap-dursichtig-zeichnen.html)

Illuminator-23-5 13. Aug 2003 15:27


bitmap dursichtig zeichnen
 
ich möchte mit openGL ein bitmap zeichnen, das einen weißen hintergrund hat, den ich aber nicht zeichnen möchte. wie kann ich das machen?

braingrenade 13. Aug 2003 15:32

Re: bitmap dursichtig zeichnen
 
Moin !

Das problem hatte ich auch mal :

http://www.delphipraxis.net/internal...590&highlight=

Illuminator-23-5 13. Aug 2003 17:50

Re: bitmap dursichtig zeichnen
 
ok, ich hab mir das durchgelesen
vielleicht hab ich da übersehen, aber ich hab da nix gefunden, was mein problem betrifft:
ich muss nicht das ganze bild 'verdurchsichtigen', ich möchte, dass z.b. die farbe clWhite nicht gezeichnet wird, aber alle anderen farben schon!

Aya 14. Aug 2003 02:37

Re: bitmap dursichtig zeichnen
 
Hi,

das ganze mußt du via AlphaBlending lösen.
Wenn du dich bisher allerdings nicht groß um das laden von Texturen geschert hast (sprich, immer fremd-libs benutzt hast), würde ich dir empfehlen auch dafür eine bereits existierende Unit zu benutzen ;)

z.B. die von mir geschriebene Texture-Unit:
http://www.Koshigaya.de/Download/kglTextures.zip

Wenn du fragen zur benutzung hast, sag bescheid :)

Au'revoir,
Aya~

braingrenade 14. Aug 2003 12:17

Re: bitmap dursichtig zeichnen
 
Also ich hab das mit der glbmp gemach :


vorher bei uses noch glbmp
und im code dann einfach:
Delphi-Quellcode:
textur := tglbmp.Create;
textur.LoadImage(bitmappath);
textur.AddAlpha(transparencybmppath);
textur.GenTexture;
bei der dritten zeile muss eine bmp angegeben sein die nur schwarz,grau und weiß ist und die gleiche Maße wie die bmp in der zweiten zeile hat
alles was in der b/w bmp schwarz ist wrd nicht gezeichnet , desto weißer desto weniger transparenz .

Illuminator-23-5 14. Aug 2003 15:32

Re: bitmap dursichtig zeichnen
 
ich weiß nicht, ob ich das was falsch verstanden habe bei den posts, aber ich suche so etwas, wie z.b. bei delphiX in der imagelist das trasparent=true und trasparentColor=clWhite oder so, dass einfach eine bestimmte farbe nicht gezeichnet wird, aber alle anderen voll gezeichnet werden
wenn das schon irgendjemand geschrieben hat, weist mich daraufhin, ich kannst nähmlich nicht finden

Aya 14. Aug 2003 15:48

Re: bitmap dursichtig zeichnen
 
Hi,
Zitat:

Zitat von Illuminator-23-5
ich weiß nicht, ob ich das was falsch verstanden habe bei den posts, aber ich suche so etwas, wie z.b. bei delphiX in der imagelist das trasparent=true und trasparentColor=clWhite oder so, dass einfach eine bestimmte farbe nicht gezeichnet wird, aber alle anderen voll gezeichnet werden
wenn das schon irgendjemand geschrieben hat, weist mich daraufhin, ich kannst nähmlich nicht finden

ja.. das geht mit der von mir geposteten Unit ;)

Au'revoir,
Aya~

Illuminator-23-5 14. Aug 2003 15:56

Re: bitmap dursichtig zeichnen
 
hab ich probiert:
Ergebnis(derzeitig)=fehler:
File not found: 'OpenGL12.dcu'

Aya 14. Aug 2003 16:02

Re: bitmap dursichtig zeichnen
 
Hi,

ja.. die OpenGL12.pas brauchst du schon... *g*
Such mal bei Google dannach, sollte kein problem sein die zu finden.

Bei Google suchenOpenGL12.pas

Au'revoir,
Aya~

Illuminator-23-5 14. Aug 2003 16:54

Re: bitmap dursichtig zeichnen
 
ok, soweit klappts (mit den units)
aber durch welche procedure oder wie kann ich das bitmap zeichnen?

Aya 14. Aug 2003 16:57

Re: bitmap dursichtig zeichnen
 
Mh...??

Du kannst nich einfach nen Bitmap zeichnen, du kannst es nur als Textur verwenden.

Du mußt also nen Quad erstellen und darauf dein Bitmap als Textur verwenden.. schau dir mal in der kglTextures.pas die beschreibung der Befehle an (ganz oben).. sollte eigentlich verständlich sein :)

Au'revoir,
Aya~

negaH 14. Aug 2003 17:00

Re: bitmap dursichtig zeichnen
 
Delphi-Quellcode:
Canvas.Brush.Color := clRed;
Canvas.BrushCopy(Bounds(), Bitmap, Bounds(), clWhite);
zeichnet die Bitmap und ersetzt alle clWhite Pixels durch clRed.

Ansonsten schau dir TImageList ggenauer an, und .Masked, .AddMasked.
Über's API gibt es MaskBlt().

Gruß Hagen

Aya 14. Aug 2003 17:32

Re: bitmap dursichtig zeichnen
 
Hi,

@Hagen: er möchte das ganze doch mit OpenGL machen ;)

Au'revoir,
Aya~

negaH 15. Aug 2003 14:58

Re: bitmap dursichtig zeichnen
 
Shit, stimmt das habe ich überlesen. Ich habe mich schon gewundert warum die Experten nicht auf BrushCopy hingewiesen haben. Naja, lesen sollte man halt können :)

Gruß Hagen

Illuminator-23-5 16. Aug 2003 12:51

Re: bitmap dursichtig zeichnen
 
@aya
ich hab mir die beschreibungen durchgelesen, aber könntest du mir mal ein beispiel-prog schicken?

Aya 16. Aug 2003 16:05

Re: bitmap dursichtig zeichnen
 
Hi,

was klappt denn da nicht? :roll:

Du erstellst eine Textur:
Delphi-Quellcode:
MyTex:=TTextur.Create('C:\...\bla.jpg');
dann machst du die farbe Rot transparent:
Delphi-Quellcode:
MyTex.SetAlphaColor(255,0,0,0);
(Die 4te Zahl ist der AlphaWert für die Farbe - RGBA)

und dann kannst du die Textur jederzeit dort verwenden wo du sie brauchst mit:
Delphi-Quellcode:
MyTex.Bind;
Natürlich noch AlphaMasking aktivieren davor :)

Au'revoir,
Aya~


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:40 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