Re: loading images and mixing
Posted: Mon May 12, 2014 4:12 pm
Hi,
try this:
Bernd
try this:
Code: Select all
EnableExplicit
Enumeration
#CanvasGadget1
#CanvasGadget2
EndEnumeration
Procedure ShowColourInfo(Gadget.i)
Protected.i x, y, Colour
x = GetGadgetAttribute(Gadget, #PB_Canvas_MouseX)
y = GetGadgetAttribute(Gadget, #PB_Canvas_MouseY)
Colour = Point(x, y)
Debug Str(Gadget) + " " + Str(x) + "/" + Str(y) + " : R " + Str(Red(Colour)) + " G " + Str(Green(Colour)) + " B " + Str(Blue(Colour))
EndProcedure
Define.i im, Exit, Event
UseJPEGImageDecoder() ; <--- Remember decoder
OpenWindow(0, 0, 0, 1024, 768, "Draw", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
im = LoadImage(#PB_Any, "E:\1.jpg")
CanvasGadget(#CanvasGadget1, 0, 0, ImageWidth(im), ImageHeight(im))
StartDrawing(CanvasOutput(#CanvasGadget1))
DrawImage(ImageID(im), 0, 0)
StopDrawing()
FreeImage(im)
im = LoadImage(#PB_Any, "E:\2.jpg")
CanvasGadget(#CanvasGadget2, 500, 0, ImageWidth(im), ImageHeight(im))
StartDrawing(CanvasOutput(#CanvasGadget2))
DrawImage(ImageID(im), 0, 0)
StopDrawing()
FreeImage(im)
Exit = #False
Repeat
Event = WaitWindowEvent()
Select Event
Case #PB_Event_Gadget
Select EventGadget()
Case #CanvasGadget1
Select EventType()
Case #PB_EventType_MouseEnter
StartDrawing(CanvasOutput(#CanvasGadget1))
Case #PB_EventType_MouseMove
ShowColourInfo(#CanvasGadget1)
Case #PB_EventType_MouseLeave
StopDrawing()
EndSelect
Case #CanvasGadget2
Select EventType()
Case #PB_EventType_MouseEnter
StartDrawing(CanvasOutput(#CanvasGadget2))
Case #PB_EventType_MouseMove
ShowColourInfo(#CanvasGadget2)
Case #PB_EventType_MouseLeave
StopDrawing()
EndSelect
EndSelect
Case #PB_Event_CloseWindow
Exit = #True
EndSelect
Until Exit