Seite 1 von 1

Durchsichtige Bilder

Verfasst: 25.09.2006 19:16
von Konne
Seit 4.0 unterstützt PB ja anscheinend Alpha channels von Images. Nunja des tut bei mir aber nicht. Also ich lade ein Bild und will es dann transparent auf nem Imagegadget anzeigen.
Habe ich einefach die Falschen Preogramme zum erstellen der pngs benutzt oder mache ich was beim programmieren falsch?

Verfasst: 25.09.2006 19:25
von a14xerus
mit bildern kenn ich mich mnicht so aus, aebr ich weiß, das png keien tranzparenz unterstützt, höchstens, das du eine farbe als tranzparent deklarierst, aber ich glaueb auf gadgets kann man garnet tranzparent zeichnen

Verfasst: 25.09.2006 19:39
von Zaphod
Quatsch, PNG unterstützt einen 8 oder 16 bit-alphakanal, der wird nur nicht von PB4 genutzt.

Verfasst: 25.09.2006 20:11
von tobe
warum kann ich dann mit DrawAlphaImage(ImageID, x, y) transparente bilder auf fenster, images und screens zeichnen ? ;)

Verfasst: 25.09.2006 20:40
von Konne
Gut und kann ich sie jetzt transparent mit einem Imagergadget anzeigen?

Verfasst: 25.09.2006 20:49
von a14xerus
ok, ich versuchs nochma^^
ich glaube imagegadget geht net.. zeichen mal direkt auf das fenster.
nachteil: du musst selber refreshen

//ok ich las es jetz, aber ganz falsch lag ich wohl net

Verfasst: 25.09.2006 20:57
von roherter
Doch das funktioniert mit pngs ich habe das schonmal gemacht, in einem Imagegadget ich weiß leider nicht mehr wie, wenn ich den Code finde stelle ich ihn hier rein.

Weiß jetzt nicht obs so ist wie du willst aber hier ist mal ein beispiel,PNG lade ich gleich hoch mit gimp erstellt.

Code: Alles auswählen

UsePNGImageDecoder()
Enumeration
#window_0
#pic_1
#button
#gad1
EndEnumeration

#BS_PUSHLIKE = $1000 
LoadImage(#PIc_1,"alpha.png",#PB_Image_DisplayFormat)
CreateImage(10,100,100)
StartDrawing(ImageOutput(10))
Box(0,0,100,100,RGB(100,10,100))
DrawAlphaImage(ImageID(#PIc_1),0,0)
StopDrawing()
If OpenWindow(#window_0,0,0,300,200,"lolo")
  If CreateGadgetList(WindowID(#window_0))
    ButtonImageGadget(#gad1,0,0,150,70,ImageID(10) )
  EndIf
EndIf

Repeat
  event=WaitWindowEvent()
  windowid=EventWindow()
  gadgetid=EventGadget()
  EventType=EventType()
Until event=#PB_Event_CloseWindow

End
Bild

Verfasst: 25.09.2006 22:14
von Zaphod
ok, mag sein. Ich hab es mit PNGs nicht Probiert, weil das hier in der Hilfe steht: "Die PNG Alphachannel Information (wenn vorhanden) wird derzeit ignoriert."

Verfasst: 25.09.2006 23:46
von Kaeru Gaman
ist die hilfe da alls noch nich aktuell?

...oder meinst du, dass AlphaImage nur TIFFs unterstützt?

...aber soweit ich mich erinnere, ist es schon mehrfach zur sprache gekommen,
dass man PNGs benutzen kann, kommt halt auch auf die erstellung drauf an,
irgendwie funktioniert wohl nicht jedes.

...und wie ist das dann mit den AlphaTextures?
hattest du da keine PNGs verwendet?

Verfasst: 26.09.2006 00:12
von Zaphod
Ich habe damals glaube ich Tiff benutzt. Kann mich aber nicht recht erinnern, meine alphakanal experimente waren noch zu pb beta zeiten. Jetzt hab ich das aktuelle installiert, da scheint die hilfe nur nicht aktuell zu sein.

Ich hoffe es kommt bald mal eine aktualisierte version von PB 4.0 raus. Ich verlange ja keine neuen features, aber bugfixes und korregierte Dokumentation wären mal nicht schlecht.