RGB палитра
Code
CreateImage(0,$FF,$FF);создать имэйдж
;
StartDrawing(ImageOutput(0)) ;начать прорисовку на имэйдже
For X = 0 To $FF-1 ;пройтись по Х координатам
For Y = 0 To $FF-1 ;пройтись по У координатам
Plot(X,Y,RGB($FF-X,$FF-Y,X)) ;рисовать точку по (Х,У) цвета (R=обрат.Х, G=обрат.У, B=X)
Next
Next
StopDrawing()
; ;прекратить прорисовку на имэйджэ
hwnd = OpenWindow(0,0,0,256,256,"",#PB_Window_ScreenCentered | #PB_Window_SystemMenu);создать окно
CreateGadgetList(hwnd)
ImageGadget(0,0,0,255,255,ImageID(0))
;
Repeat
Until WaitWindowEvent() = #PB_Event_CloseWindow
End
Code
Procedure UpdateColorz()
Shared rot, gruen, blau
Wert = (blau << 16) | (gruen << 8) | (rot)
ImageID(1): StartDrawing(ImageOutput(1))
Box(0, 0, 260, 20, RGB(rot, gruen, blau))
StopDrawing()
SetGadgetState(50,ImageID(1))
SetGadgetText(30, "#"+RSet(Hex(rot),2,"0")+RSet(Hex(gruen),2,"0")+RSet(Hex(blau),2,"0"))
ImageID(2): StartDrawing(ImageOutput(2))
Box(0, 0, 260, 20, Wert)
StopDrawing()
SetGadgetState(51,ImageID(2))
SetGadgetText(40, StrU(Wert,2))
EndProcedure
If OpenWindow(0, 0, 0, 340, 140, "Определитель цвета для HTML", #PB_Window_MinimizeGadget| #PB_Window_ScreenCentered)
TextGadget(0, 5, 5, 25, 20, "Крас")
TrackBarGadget(1, 35, 5, 265, 20, 0, 255)
StringGadget(2, 305, 5, 30, 20, "0", #PB_String_ReadOnly)
TextGadget(10, 5, 30, 25, 20, "Зел")
TrackBarGadget(11, 35, 30, 265, 20, 0, 255)
StringGadget(12, 305, 30, 30, 20, "0", #PB_String_ReadOnly)
TextGadget(20, 5, 55, 25, 20, "Син")
TrackBarGadget(21, 35, 55, 265, 20, 0, 255)
StringGadget(22, 305, 55, 30, 20, "0", #PB_String_ReadOnly)
StringGadget(30, 5, 90 , 60, 20, "#000000", #PB_String_ReadOnly)
StringGadget(40, 5, 115, 60, 20, "0" , #PB_String_ReadOnly)
CreateImage(1, 260, 20)
CreateImage(2, 260, 20)
ImageGadget(50,75, 90,260,20,ImageID(1))
ImageGadget(51,75,115,260,20,ImageID(2))
EndIf
Repeat
Select WaitWindowEvent()
Case #PB_Event_Gadget
GadgetID = EventGadget()
Select GadgetID
Case 1
rot = GetGadgetState(1)
SetGadgetText(2, Str(rot))
Case 11
gruen = GetGadgetState(11)
SetGadgetText(12, Str(gruen))
Case 21
blau = GetGadgetState(21)
SetGadgetText(22, Str(blau))
EndSelect
If GadgetID=1 Or GadgetID=11 Or GadgetID=21
UpdateColorz()
EndIf
Case #PB_Event_CloseWindow
End
EndSelect
ForEver
Скачать
ColorHTML.txt Code
Enumeration
#Window_0=150
#image
#Ima
EndEnumeration
Procedure.l MyImage(ImageNumber.l, Color.l)
ImageID.l = CreateImage(ImageNumber, 40, 40)
StartDrawing(ImageOutput(ImageNumber))
Box(0, 0,40,40, Color)
StopDrawing()
ProcedureReturn ImageID
EndProcedure
Dim ColorName$(256)
Dim RedColor$(256)
Dim GreenColor$(256)
Dim BlueColor$(256)
i.l=0
If ReadFile(0, "ColorHTML.txt")
While Eof(0) = 0
ColorName$(i)=ReadString(0)
RedColor$(i)=ReadString(0)
GreenColor$(i)=ReadString(0)
BlueColor$(i)=ReadString(0)
i+1
Wend
CloseFile(0)
Else
MessageRequester("Information","Couldn't open the file!")
EndIf
OpenWindow (#Window_0, 0, 0, 490, 490, "Заглавие", #PB_Window_MinimizeGadget |#PB_Window_MaximizeGadget|#PB_Window_ScreenCentered|#PB_Window_SizeGadget)
For a=0 To i-1
RGB=Val("$"+BlueColor$(a)+GreenColor$(a)+RedColor$(a))
If 5+(40*a)<446
ButtonImageGadget(a,5+(40*a), 5, 40,40,MyImage(a,RGB))
ElseIf 5+(40*a)<926
ButtonImageGadget(a,5+(40*(a-12)),45, 40,40,MyImage(a,RGB))
ElseIf 5+(40*a)<1406
ButtonImageGadget(a,5+(40*(a-24)),85, 40,40,MyImage(a,RGB))
ElseIf 5+(40*a)<1886
ButtonImageGadget(a,5+(40*(a-36)),125,40,40,MyImage(a,RGB))
ElseIf 5+(40*a)<2366
ButtonImageGadget(a,5+(40*(a-48)),165,40,40,MyImage(a,RGB))
ElseIf 5+(40*a)<2846
ButtonImageGadget(a,5+(40*(a-60)),205,40,40,MyImage(a,RGB))
ElseIf 5+(40*a)<3326
ButtonImageGadget(a,5+(40*(a-72)),245,40,40,MyImage(a,RGB))
ElseIf 5+(40*a)<3806
ButtonImageGadget(a,5+(40*(a-84)),285,40,40,MyImage(a,RGB))
ElseIf 5+(40*a)<4286
ButtonImageGadget(a,5+(40*(a-96)),325,40,40,MyImage(a,RGB))
ElseIf 5+(40*a)<4766
ButtonImageGadget(a,5+(40*(a-108)),365,40,40,MyImage(a,RGB))
ElseIf 5+(40*a)<5246
ButtonImageGadget(a,5+(40*(a-120)),405,40,40,MyImage(a,RGB))
ElseIf 5+(40*a)<5726
ButtonImageGadget(a,5+(40*(a-132)),445,40,40,MyImage(a,RGB))
EndIf
GadgetToolTip(a,ColorName$(a))
Next
;-----------------------------------
Repeat
Event = WaitWindowEvent()
Gadget = EventGadget()
If Event=#PB_Event_Gadget
For gadget=0 To i
If EventGadget()=gadget
z=gadget
RGB=Val("$"+BlueColor$(z)+GreenColor$(z)+RedColor$(z))
SetWindowTitle(#Window_0, " HTML = #"+RedColor$(z)+GreenColor$(z)+BlueColor$(z) + " Hex = $"+BlueColor$(z)+GreenColor$(z)+RedColor$(z)+" Dec ="+Str(Val("$"+BlueColor$(z)+GreenColor$(z)+RedColor$(z))))
If CreateImage(#image, 1680, 1024)
StartDrawing(ImageOutput(#image))
Box(0, 0, 1680, 1024,RGB)
StopDrawing()
#file = "oooo.bmp"
SaveImage(#image, #file, #PB_ImagePlugin_BMP)
SystemParametersInfo_(#SPI_SETDESKWALLPAPER, 0, #file, #SPIF_UPDATEINIFILE | #SPIF_SENDWININICHANGE)
EndIf
EndIf
Next
EndIf
If Event = #PB_Event_CloseWindow
Break
EndIf
ForEver