ich habe es immer vor mir her geschoben, weil ich mich noch nie damit beschäftigt habe, aber jetzt MUSS es sein.
Folgendes Problem:
Ich möchte 3 (oder mehrere) Bilder übereinander legen (wie transparente Folien bei einem Overhead-Projektor) und das Gesamtbild anzeigen lassen. Aber OHNE Farbmischung! D.h, das letzte Bild hat immer Priorität vor dem darunterliegenden. In unten stehenden Beispiel soll also eine rote Box auf einem gelben Keis auf schwarzem Hintergrund erscheinen.
Nach allerlei Versuchen bin ich zu keinem Ergebnis gekommen. Da bin ich zu blöd dazu. Ich verstehe es einfach nicht. Das "Handbuch" ist für mich nicht zu gebrauchen, da verstricke ich mich in ein Durcheinander von Abhängigkeiten und Sonderfälle das nicht mehr durchschaubar ist. Die wenigen Beispiele verwirren eher als zu helfen.
Der untenstehende Code war schon um einiges länger, aber wie gesagt: Erfolglos. Alles wieder auf Anfang gesetzt. Vielleicht kann es mir irgendwer von euch erklären was ich tun muss.
Code: Alles auswählen
xscreen=700
yscreen=700
Enumeration
#Bild0
#Bild1
#Bild2
#Bild3
EndEnumeration
#ColorHintergrund =$000000 ;schwarz
#Kreis =$FFFF00 ;Gelb
#Box =$000099 ;Rot
CreateImage(#Bild0,xscreen,yscreen)
CreateImage(#Bild1,xscreen,yscreen)
StartDrawing(ImageOutput(#Bild1))
Box(0,0,xscreen,yscreen,#ColorHintergrund)
StopDrawing()
CreateImage(#Bild2,xscreen,yscreen)
StartDrawing(ImageOutput(#Bild2))
Circle(xscreen/2,yscreen/2,xscreen/2,#Kreis)
StopDrawing()
CreateImage(#Bild3,xscreen,yscreen)
StartDrawing(ImageOutput(#Bild3))
Box(300,300,300,300,#Box)
StopDrawing()
;------------------------------------------------------
OpenWindow(0,100,100,xscreen,yscreen,"", #PB_Window_SystemMenu)
ImageGadget(1,0,0,xscreen,yscreen,0)
StartDrawing(ImageOutput(#Bild0))
DrawImage(ImageID(#Bild1),0,0)
DrawImage(ImageID(#Bild2),0,0)
;DrawImage(ImageID(#Bild3),0,0)
StopDrawing()
ImageGadget(1,0,0,xscreen,yscreen,ImageID(#Bild0))
Repeat
Event = WaitWindowEvent()
Until Event = #PB_Event_CloseWindow