Ich versuche gerade einen ColorPicker (Pipette) zu bauen.
Dazu brauch ich natürlich ein Farbfeld, welches ich prozedural erstellen wollte (momentan benutze ich das Bild und eine riesige DataSection, die ich zuvor mittels Point() erstellt haben).
Aber das muss doch eleganter gehen...
So soll das mal aussehen:

Den Regenboben krieg ich vielleicht noch hin (zumal es ja jetzt Gradientbefehle gibt).
Aber beim Übergang ins Weiße/Schwarze hapert's dann.
Mit einer Farbe (z.B. $0000FF) gibt's einen schönen Übergang, aber mit Mitschfarben kommen breite Streifen in unappetitlichen Farben.
Code: Alles auswählen
Define color.i = $0099FF
Define adjustment.i = $FFFFFF
CreateImage(0, 255, 100)
StartDrawing(ImageOutput(0))
For x = 0 To 255
adjustment - $010101
Line(x, 0, 1, 100, color & adjustment)
Next
StopDrawing()
OpenWindow(0, 0, 0, 255, 100, "Gradient nach schwarz", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
ImageGadget(0, 0, 0, 255, 100, ImageID(0))
Repeat
Until WaitWindowEvent()=#PB_Event_CloseWindow
Danke schonmal.
PS: Falls es jemanden interessiert, warum ich das Rad neu erfinde. Ich brauche einen ColorPicker der mit sofort die Farbe ausspuckt. Außerdem brauche ich ein Feld, dass so aussieht, wie oben gezeigt. Es beinhaltet alle Farben, ohne dass man irgendwelche anderen Regler betätigen muss (Helligkeit bei msPaint z.B.).
Geschwindigkeit bei der Auswahl geht hier vor Genauigkeit. (Mit diesem Feld hat man ja nur 65k Farben, aber das ist mehr als Genug für meine Zwecke).