Durchsichtige Bilder

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Konne
Beiträge: 764
Registriert: 30.03.2005 02:20
Kontaktdaten:

Durchsichtige Bilder

Beitrag 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?
a14xerus
Beiträge: 1440
Registriert: 14.12.2005 15:51
Wohnort: Aachen

Beitrag 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
Benutzeravatar
Zaphod
Beiträge: 2875
Registriert: 29.08.2004 00:40

Beitrag von Zaphod »

Quatsch, PNG unterstützt einen 8 oder 16 bit-alphakanal, der wird nur nicht von PB4 genutzt.
Benutzeravatar
tobe
Beiträge: 146
Registriert: 14.09.2006 17:33
Wohnort: Oktoberfest

Beitrag von tobe »

warum kann ich dann mit DrawAlphaImage(ImageID, x, y) transparente bilder auf fenster, images und screens zeichnen ? ;)
PureBasic 4.40 (Windows - x86)
Benutzeravatar
Konne
Beiträge: 764
Registriert: 30.03.2005 02:20
Kontaktdaten:

Beitrag von Konne »

Gut und kann ich sie jetzt transparent mit einem Imagergadget anzeigen?
a14xerus
Beiträge: 1440
Registriert: 14.12.2005 15:51
Wohnort: Aachen

Beitrag 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
Zuletzt geändert von a14xerus am 26.09.2006 06:20, insgesamt 1-mal geändert.
Benutzeravatar
roherter
Beiträge: 1407
Registriert: 10.04.2005 18:58
Kontaktdaten:

Beitrag 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
Purebasic 5.0 32bit und 64 bit

I'm back from hell
Benutzeravatar
Zaphod
Beiträge: 2875
Registriert: 29.08.2004 00:40

Beitrag 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."
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag 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?
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
Zaphod
Beiträge: 2875
Registriert: 29.08.2004 00:40

Beitrag 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.
Antworten