Code:
Global sOut
Procedure GetTextColor(rgbRed.i,rgbGrn.i,rgbBlu.i)
brightness.f = Sqr( (0.299 * Pow(rgbRed,2)) + (0.587 * Pow(rgbGrn,2)) + (0.114 * Pow(rgbBlu,2)) )
If brightness.f < 130
sOut = $FFFFFF
Else
sOut = $0
EndIf
ProcedureReturn sOut
EndProcedure
OpenWindow(0,0,0,320,240,"Colour",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
StringGadget(0,10,10,100,20,"255,255,255")
ButtonGadget(1,120,10,50,20,"GO")
CreateImage(0,100,20)
ImageGadget(2,10,50,100,20,ImageID(0))
Repeat
Event = WaitWindowEvent()
Select Event
Case #PB_Event_Gadget
Select EventGadget()
Case 1
StartDrawing(ImageOutput(0))
R=Val(StringField(GetGadgetText(0),1,","))
G=Val(StringField(GetGadgetText(0),2,","))
B=Val(StringField(GetGadgetText(0),3,","))
GetTextColor(R,G,B)
DrawingMode(#PB_2DDrawing_Transparent)
Box(0,0,100,20,sOut)
DrawText(0,0,"Testing",RGB(R,G,B))
StopDrawing()
SetGadgetState(2,ImageID(0))
EndSelect
EndSelect
Until Event = #PB_Event_CloseWindow
End
Had a bit of a play with your code, might come in use for someone.
