Entwickler-Ecke
Multimedia / Grafik - png-datei als bild in image-komponente einlesen??
Affje - Fr 22.08.03 20:49
Titel: png-datei als bild in image-komponente einlesen??
hi
ich bin gerade dabei, ein kleines spiel zu programmieren, jedoch habe ich ein problem. ich will in meine image komponente ein png bild einlesen, da ich ein format nehmen muss, dass transparenz unterstüzt. gibts da eine möglichkeit????
worm - Fr 22.08.03 23:10
Ein bisschen Google:
http://pngdelphi.sourceforge.net/
Falls du keinen echten Alpha-Kanal benötigst, sondern nur einfache Transparenz wie bei GIFs, geht's auch mit 'ner Bitmap.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| var b: TBitmap; begin b := TBitmap.Create; try with b do begin LoadFromFile('xyz.bmp'); Transparent := True; end; Canvas.Draw(10,10,b); finally b.Free; end; end; |
Affje - Mo 25.08.03 22:16
was ist ein alpha-kanal??
worm - Di 26.08.03 22:05
Ein Alpha-Kanal ist ein Kanal (neben Rot, Grün, Blau), der die Transparenz angibt. Er wird meistens in Graustufen dargestellt, dabei wäre weiß = völlig undurchsichtig und schwarz = völlig transparent. Die Grauwerte sind dann die Zwischenstufen, also halbtransparent. Der Alpha-Kanal eignet sich somit, um auch z.B. Schatten oder "antialiaste" Ränder abzuspeichern.
Bei Gifs ist der Alphakanal nur monochrom (also nur schwarz und weiß, kein Grau).
Affje - Di 26.08.03 22:43
kann mir jemand mal ein beispiel geben, wie ich ein png bild lade, wenn ich auf einen button drücke??
Udontknow - Mi 27.08.03 17:31
Hi!
Also meines Wissens wird PNG nicht so ohne weiteres von TImage unterstützt. Du müsstest also mal schauen, ob du nicht eine Unit oder Komponente für dieses Format findest.
BTW: Ein Alpha-Kanal stellt nicht unbedingt Transparenz dar. Es ist einfach ein weiterer Kanal, der alles mögliche bedeuten kann; z.B. kann dies eine Heightmap für Bumpmapping-Effekte darstellen. Bei Gifs wird die Transparenz einfach durch eine Farbe definiert, die dann als "unsichtbar" bzw."durchsichtig" gilt. Alle Pixel mit dieser Farbe werden dann nicht gezeichnet. Ein richtiger Alpha-Kanal ist dafür nicht nötig.
Cu, :)
Udontknow
worm - Do 28.08.03 18:34
@Udontknow: Zum Thema "PNG mit TImage" siehe meinen allerersten Post in diesem Thread.
Mit den Alpha-Kanälen hast Du recht - das mit dem Monochromen Alpha-Kanal hab ich nur als Vergleich zu den "genaueren" Alpha-Kanälen gesagt. Umgesetzt ist es so, wie Du's gesagt hast. :)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!