* * *    
Главная » Статьи » Код PB

Просмотров: 4528 | Дата: 19.04.2024 | Коментарии (0)

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












Сайт посвящён языку программирования PureBasic — коммерческий компилятор языка программирования, использующего синтаксис BASIC. Предназначен для создания кроссплатформенных приложений для AmigaOS, Linux, Microsoft Windows, Windows NT и Mac OS X. Разработан компанией Fantaisie Software.