2 Bilder "überlagern" (wie bei GIMP)
2 Bilder "überlagern" (wie bei GIMP)
Gibt es eine Möglichkeit in PB ein Bild so auf ein anderes Bild zu legen, dass dabei der selbe Effekt erzielt wird, wie wenn man beim Programm THE GIMP eine Ebene über eine andere legt und diese dann auf "Überlagern stellt" ohne die Werte jedes Pixels durchrechnen zu müssen? Wenn nicht, weiß vieleicht jemand, welcher Algorythmus dafür verwendet wird?
Re: 2 Bilder "überlagern" (wie bei GIMP)
DrawAlphaImage() könnte der Sache nahe kommen.
(wenn auch nicht ganz)
(wenn auch nicht ganz)
pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Re: 2 Bilder "überlagern" (wie bei GIMP)
hab da was gefunden (engl-Forum)
http://www.purebasic.fr/english/viewtop ... erCallback
allerdings mit pixelrechnerei
http://www.purebasic.fr/english/viewtop ... erCallback
allerdings mit pixelrechnerei
Code: Alles auswählen
Enumeration
#w
#c
#i1
#i2
#i3
EndEnumeration
Macro overlay(color_source,color_targ, colo)
If color_source <128
colo = ( 2 * color_source*color_targ ) / 255
Else
colo =255 - ( 2 * ( 255 - color_source ) * ( 255 - color_targ ) / 255 )
EndIf
EndMacro
Procedure FilterCallback(x, y, Quell, Ziel)
overlay(Red(Ziel),Red(Quell), red)
overlay(Blue(Ziel),Blue(Quell), blue)
overlay(Green(Ziel),Green(Quell), green)
ProcedureReturn RGBA(red, green, blue, Alpha(Ziel))
EndProcedure
UseJPEGImageDecoder()
LoadImage(#i1,"01000000.jpg") ; Bild hinten
LoadImage(#i2,"02000000.jpg") ; Bild 1
LoadImage(#i3,"03000000.jpg") ; Bild 2
OpenWindow(#w,0,0,500,500,"Fenster",#PB_Window_ScreenCentered|#PB_Window_ScreenCentered)
CanvasGadget(#c,0,0,500,500)
StartDrawing(CanvasOutput(#c))
DrawImage(ImageID(#i1),0,0) ;Bild hinten
DrawingMode(#PB_2DDrawing_CustomFilter)
CustomFilterCallback(@FilterCallback())
DrawImage(ImageID(#i2),0,0) ;Bild 1 reinmixen
DrawImage(ImageID(#i3),0,0) ;Bild 2 reinmixen
StopDrawing()
FreeImage(#i1)
FreeImage(#i2)
FreeImage(#i3)
Repeat
Until WaitWindowEvent()=#PB_Event_CloseWindow
pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.