Color Picker von ??? |
Hi! Habe mal einen kleinen Color Picker geproggt bei dem man mit der Maus aus einer Palette eine Farbe wählen kann. Das Programm zeigt an: RGB-Werte Farbcode für Befehle wie Writepixel(fast) Helligkeit der Farbe in % (wozu weiss ich selbst nicht :wink: ) Steuerung: Maus: Farbe wählen +/-: gewählte Farbe heller/dunkler M: Mix-Modus (anschließend auf Farbe klicken die zur gewählten Farbe gemixt werden soll) [code:1:8a2e1f8ef5] Graphics 320,240,32,2 AppTitle "Color Picker 1.0 ©by Unreal Software" ;----------------------------------------------------------Definieren Global r ;Rotwert Global g ;Grünwert Global b ;Blauwert Global r2 ;Rotwert 2 Global g2 ;Grünwert 2 Global b2 ;Blauwert 2 Global x ;Xpos Global y ;Ypos Global colormap ;Image für die Colormap Global st ;Color-Mix Step Global li ;Color-Line Global l2 ;Color-Line to Global br ;Brightness Global font ;Schrift Global ui_bw ;Black/white (nur für Anzeige) Global ui_bd ;Brighter/Darker (nur für Anzeige) Global ui_t$ ;Text (nur für Anzeige) Global ui_tf ;Textflip (nur für Anzeige) Global math$ ;Berrechnungs-Integer Global math2# ;Berrechnungs-Float Global mode ;Mouse-Mode ;----------------------------------------------------------Einstellen r=255 ;Rot am Anfang 255 g=0 ;Grün am Anfang 0 b=0 ;Blau am Anfang 0 x=10 ;Bei X 10 anfangen y=10 ;Bei Y 10 anfangen st=1 ;Color-Mix Step 1 (Grün größer) li=0 ;Line auf 0 l2=0 ;Line to auf 0 font=LoadFont ("Arial", 14) ;----------------------------------------------------------Color Map erstellen ;Farbtöne zeichnen For y=10 To 140 For x=10 To 265 Select st ;Horizontale Farbänderung Case 1 If g<255 Then g=g+5 Else st=st+1 ;1. Grün größer / Next Step Case 2 If r>0 Then r=r-5 Else st=st+1 ;2. Rot kleiner / Next Step Case 3 If b<255 Then b=b+5 Else st=st+1 ;3. Blau größer / Next Step Case 4 If g>0 Then g=g-5 Else st=st+1 ;4. Grün kleiner / Next Step Case 5 If r<255 Then r=r+5 Else st=st+1 ;5. Rot größer / Next Step Case 6 If b>0 Then b=b-5 Else st=st+1 ;6. Blau kleiner / Next Step End Select r2=r g2=g b2=b l2=0 While l2<li ;Vertikale Farbänderung l2=l2+1 ; If r2>127 Then r2=r2-1 ; If r2<127 Then r2=r2+1 ; If g2>127 Then g2=g2-1 ; If g2<127 Then g2=g2+1 ; If b2>127 Then b2=b2-1 ; If b2<127 Then b2=b2+1 ; Wend ; Color r2,g2,b2 Plot x,y ;Punkt zeichnen Next li=li+1 ;Nächste Reihe r=255 ;Rot auf 255 g=0 ;Grün auf 0 b=0 ;Blau auf 0 st=1 ;Step zurücksetzen Next ;Speichern colormap=CreateImage(255,130) ;Leeres Image erstellen GrabImage colormap,10,10 ;Colormap in Image speichern ;----------------------------------------------------------Runtime vorbereiten r=0 g=0 b=0 r2=0 g2=0 b2=0 rgb=0 br=0 SetFont font SetBuffer BackBuffer() ;----------------------------------------------------------Runtime Repeat Cls ;Colormap zeichnen DrawBlock colormap,10,10 ;Infos schreiben Color 255,255,255 Text 15, 145, "R: "+r Text 15, 155, "G: "+g Text 15, 165, "B: "+b Text 15, 175, "Code: "+rgb Text 185, 210, "Brightness: "+br+"%" ;Gewählte Farbe und anderes Zeugs schreiben Color r,g,b Rect 185,150,80,30 If ui_bd=0 Then ui_bw=ui_bw+5 If ui_bd=1 Then ui_bw=ui_bw-5 If ui_bw=0 Then ui_bd=0 Select ui_tf Case 0 ui_t$="Welcome to" Case 1 ui_t$="the Color Picker" Case 2 ui_t$="©by Unreal Software, 2002" Case 3 ui_t$="" Case 5 ui_t$="Click into" Case 6 ui_t$="the window" Case 7 ui_t$="to select" Case 8 ui_t$="a color!" Case 9 ui_t$="" Case 10 ui_t$="Use + or -" Case 11 ui_t$="to make your" Case 12 ui_t$="color brighter" Case 13 ui_t$="or darker!" Case 14 ui_t$="" Case 15 ui_t$="Select a color," Case 16 ui_t$="press M and" Case 17 ui_t$="select another color" Case 18 ui_t$="to mix them!" Case 19 ui_t$="" Case 20 ui_t$="THX 4 using" Case 21 ui_t$="this tool!" Case 22 ui_t$="PLZ visit us @" Case 23 ui_t$="www.unrealsoftware.de.vu" Case 26 ui_t$="" End Select ui_tf=ui_tf+1 If ui_tf=30 Then ui_tf=0 EndIf If ui_bw=255 Then ui_bd=1 Color ui_bw,ui_bw,ui_bw Rect 185,150,80,30,0 Text 15, 210, ui_t$ If mode=1 Then Text MouseX()+30, MouseY(), "mix selected color with..." ;Mausklick If GetMouse()<>0 Then Select mode ;Mode 0: Farbe wählen Case 0 GetColor (MouseX(),MouseY()) r=ColorRed() g=ColorGreen() b=ColorBlue() rgb=ReadPixel(MouseX(),MouseY()) math2#=r+g+b math$=(math2#/765)*100 br=math$ ;Mode 1: Farben mixen Case 1 GetColor (MouseX(),MouseY()) r2=ColorRed() g2=ColorGreen() b2=ColorBlue() r=(r/2)+(r2/2) g=(g/2)+(g2/2) b=(b/2)+(b2/2) math2#=r+g+b math$=(math2#/765)*100 br=math$ mode=0 Color r,g,b Rect 185,150,80,30 rgb=ReadPixel(200, 160) End Select EndIf ;Tasten If KeyDown(1) Then End ;ESC = Beenden If KeyDown(78) Or KeyDown(27) Then ;+ = Heller If r<255 Then r=r+1 ; If g<255 Then g=g+1 ; If b<255 Then b=b+1 ; math2#=r+g+b:math$=(math2#/765)*100:br=math$ ; rgb=ReadPixel(200, 160) ; EndIf ; If KeyDown(74) Or KeyDown(53) Then ;- = Dunkler If r>0 Then r=r-1 ; If g>0 Then g=g-1 ; If b>0 Then b=b-1 ; math2#=r+g+b:math$=(math2#/765)*100:br=math$ ; rgb=ReadPixel(200, 160) ; EndIf ; If KeyDown(50) Then mode=1 ;M = Mode 1: Mix Mode Flip Forever [/code:1:8a2e1f8ef5] |
von ??? |
hab mir den code jetzt nicht näher angeguckt aber so viel code für einen einfachen color-picker und mixer ?? Oo |
von ??? |
Naja ich hab ihn ziemlich simpel gemacht und keine funktionen verwendet, was sich natürlich nicht positiv auf die länge auswirkt .. :wink: Außerdem ist ein großer Teil fürs generieren der Pallete und es werden zur Hilfe noch Texte gezeigt... |