Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
funkeld gesperrt
Anmeldungsdatum: 10.10.2009 Beiträge: 179
|
Verfasst am: 10.03.2010, 14:26 Titel: Haben die BMP von Freebasic einen Alphakanal? |
|
|
Ich kenne eigentlich nur BMP-Dateien ohne Alphakanal und die PNG sind mir geläufig mit Alphakanal.
Wenn ich eine Picture in Freebasic anlege, werden ja 4 Kanäle angelegt RGBA.
Wenn ich jetzt mit Bsave eine BMP abspeichere, wird diese BMP mit Alphakanal gespeichert?
Gruss |
|
Nach oben |
|
 |
Eternal_pain

Anmeldungsdatum: 08.08.2006 Beiträge: 1783 Wohnort: BW/KA
|
Verfasst am: 10.03.2010, 14:45 Titel: |
|
|
ohne nun was falsches zu sagen, in den 'normalen' BMPs auch diese die man mit BSave speichert, werden zwar 4byte pro pixel benutzt aber der alpha dabei nicht genutzt bzw ignoriert... soweit ich weiss gibt es aber inzwischen auch eine neue BMP version, kann mich nu aber auch irren, das gelese ueber die vielen moeglichkeiten und existierenden bildformate machen bisschen wirr  _________________
 |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4704 Wohnort: ~/
|
Verfasst am: 10.03.2010, 14:48 Titel: |
|
|
Das müsste ich selbst erst mal ausprobieren. Jedenfalls kann ich über GIMP ein BMP mit Alphakanal anlegen und korrekt in FreeBASIC einlesen, also sollte das Speichern normalerweise auch möglich sein. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 10.03.2010, 15:53 Titel: |
|
|
Seit neuestem kann FB auch Alphakanal-BMPs, ja. _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
funkeld gesperrt
Anmeldungsdatum: 10.10.2009 Beiträge: 179
|
Verfasst am: 10.03.2010, 16:59 Titel: |
|
|
Wie kann ich dann zb den Alphakanal bemalen in Freebasic, damit die Sachen dann zb in Irrlicht unsichtbar werden.
Irrlicht benutzt den Alphakanal für die Durchsichtigkeit der Texture.
Gruss |
|
Nach oben |
|
 |
funkeld gesperrt
Anmeldungsdatum: 10.10.2009 Beiträge: 179
|
Verfasst am: 10.03.2010, 17:21 Titel: |
|
|
Code: |
bild3 = ImageCreate(256,256)
LINE bild3,(140, 80)-(180, 120), RGBA(255,255,0,128), Bf
BSave "test_rgba.bmp",bild3
|
Habe das Image "bild3" abgespeichert.
Im Paintshop wird kein Alphakanal erkannt.
Dann hat sich wohl das Thema erledigt.
Gruss |
|
Nach oben |
|
 |
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
Verfasst am: 10.03.2010, 21:56 Titel: |
|
|
Damit die libfbgfx auch den Alphakanal benutzt, musst du dich auch in einem Modus mit Alphakanal befinden! |
|
Nach oben |
|
 |
funkeld gesperrt
Anmeldungsdatum: 10.10.2009 Beiträge: 179
|
Verfasst am: 11.03.2010, 14:05 Titel: |
|
|
Jup, danke.
jetzt geht es mit dem Screenmodus &H40.
Gruss |
|
Nach oben |
|
 |
funkeld gesperrt
Anmeldungsdatum: 10.10.2009 Beiträge: 179
|
Verfasst am: 11.03.2010, 14:38 Titel: |
|
|
Jetzt benutzt ja Irrlicht den Alphakanal als Transparentmaske.
Was Schwarz ist, wird vom Bild gezeichnet und was Weiss ist, wird durchsichtig.
Wenn ich jetzt einen ausgefüllten roten Kreis zeichne wie kann ich dann diesen Kreis auf dem 4. Kanal abbilden als schwarze Kreisfläche?
Der Kanal hat ja nur 0/1(schwarz/weiss)
Gruss |
|
Nach oben |
|
 |
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
Verfasst am: 11.03.2010, 15:57 Titel: |
|
|
Hat er nicht.
Der Alphakanal bei 32-Bit-Modi hat 255 verschiedene Transparenzgrade. Wenn Irrlicht ihn allerdings nur als Transparenzmaske verwendet liegt das wahrscheinlich an dir. |
|
Nach oben |
|
 |
frebas
Anmeldungsdatum: 20.06.2008 Beiträge: 245
|
Verfasst am: 11.03.2010, 18:57 Titel: |
|
|
funkeld hat Folgendes geschrieben: | Jup, danke.
jetzt geht es mit dem Screenmodus &H40.
Gruss |
Ich habe auch diesen Modus eingestellt, doch bei mir klappt es nicht den Alphakanel einzulesen, wenn ich den Alphakanel im Programm setze (pinke pixel -> voller alphachannel) dann wird das bild mit alphachannel dargestellt, aber so gefällt mir das nicht weil ich nicht nur den vollen alphachannel möchte. |
|
Nach oben |
|
 |
funkeld gesperrt
Anmeldungsdatum: 10.10.2009 Beiträge: 179
|
Verfasst am: 11.03.2010, 19:15 Titel: |
|
|
Zitat: |
Wenn Irrlicht ihn allerdings nur als Transparenzmaske verwendet liegt das wahrscheinlich an dir.
|
Das ist ja mein Ziel ihn als Transparentmaske zu benutzen wei bei einer PNG.
Gruss |
|
Nach oben |
|
 |
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
Verfasst am: 11.03.2010, 19:18 Titel: |
|
|
Eine PNG hat einen Alphakanal, keine Alphamaske. Alphamasken sind nur in der Spieleprogrammierung verbreitet (gewesen), wenn es nämlich auf Geschwindigkeit ankommt (kam). |
|
Nach oben |
|
 |
funkeld gesperrt
Anmeldungsdatum: 10.10.2009 Beiträge: 179
|
Verfasst am: 11.03.2010, 19:28 Titel: |
|
|
Eben, dieser wird genutzt als Maske um Transparent darzustellen.
Wird bei Paintshop als Alphakanl angesprochen.
Dort zeichne ich erst ein Bild mit Farben, dann wird gefragt welche Farbe ich als Transparent nehmen möchte.
Wenn das Bild dann gespeichert ist hat der Alphakanal die farbe Schwarz wo das Bild gemalt wird und Weiss wo es durchsichtig ist.
Und bei Irrlicht kannst du dann bei der Textur den Alphakanal als Transparent vorgeben.
Gruss |
|
Nach oben |
|
 |
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
Verfasst am: 11.03.2010, 20:16 Titel: |
|
|
Ich führe das nicht weiter aus, ich sage dir nur noch eins: So wie du das machst ist das unflexibel. Außerdem kann dein System keine partielle Transparenz abbilden. |
|
Nach oben |
|
 |
funkeld gesperrt
Anmeldungsdatum: 10.10.2009 Beiträge: 179
|
Verfasst am: 11.03.2010, 23:25 Titel: |
|
|
Irrlicht kann Transparent der Textur nur über Alpha durchführen:
Zitat: |
IRR_EMT_TRANSPARENT_ALPHA_CHANNEL
IRR_EMT_TRANSPARENT_ALPHA_CHANNEL_REF
|
|
|
Nach oben |
|
 |
|