Farbrad zeichen [Color Repicker]

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

TheMatrix

Betreff: Farbrad zeichen [Color Repicker]

BeitragMi, März 14, 2007 22:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo Leutz,

wisst ihr zufällig, wie man dass anstellt, dass man solch ein Farbrad malt, wie es in Colorrepickern gemacht wird? Oder sowas wie in Paint zum Farben auswählen?
Wäre cool, wenn jemand dafür eine Berechnung hätte. Very Happy

Gruß, Manu
°_° °.° °~° °v° .. -.-

StepTiger

BeitragMi, März 14, 2007 22:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Also da gäbe es Sinus, Cosinus und so. Für die Farbberechnung...
Mal wiki durchstöbert? Weiß nicht, ob es da was gibt.
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer:
AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t
Gewinner: BP Code Compo #2
Π=3.141592653589793238...<--- und das aus dem kopf Laughing
Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser.

Silver_Knee

BeitragMi, März 14, 2007 22:39
Antworten mit Zitat
Benutzer-Profile anzeigen
also ein farbrad würd ich sagen eine Funktion SchreibenCode: [AUSKLAPPEN]
Function Cool(wert)
wert=wert mod 255*3
If wert<255
 Return wert
Elseif wert>255
 Return 2*255-wert
ElseIf wert>255*2
 Return
Else
 Return 255
End Function
So das gibt bei werten bis 255 ansteigende und zwischen 255 und 255*2 absteigende werte und bei den nächsten 255 immer 0 das ist schonmal ein ansatz: das ganze in eine For-Next schleife und für rot grün und blau "zeitversetzt"
Code: [AUSKLAPPEN]
rot=Cool(counter)
green=Cool(counter+255)
blue=Cool(counter+255*2)

zb counter steigt... momentan counter=10

rot bekommt 10 dh rot steigt an
grün bekommt 265 dh es sinkt
blau bekommt 520 dh es gibt 0

zb counter steigt weiter... momentan 265

rot bekommt 265 dh es sinkt wieder
grün bekommt 520 dh =0
blau bekommt 775 durch das Mod also 10 dh es steigt

und so weiter

und das ganze noch in kreis-form....

Thorsten

BeitragMi, März 14, 2007 23:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Ist zwar keine programmiertechnische Lösung, aber auch eine Lösung :
Nimm so ein "Farbrad" einfach als Image und Lies es mit ReadPixelFast aus.

mfG

Thorsten

TheMatrix

BeitragMi, März 14, 2007 23:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Hm, das ist auch noch idee, aber ich möchte gern meine GUI ohne irgendwelche zusätzlichen Bildchen kreieren, da ich bis jetzt alles dynamisch zeichnen lasse. Mit Cos und Sin hatte ich auch schon was:
Code: [AUSKLAPPEN]
Graphics 640,480,16,2

SetBuffer BackBuffer()
While Not KeyHit(1)
 Cls
 mx = MouseX()
 my = MouseY()

  x = x+1
  rf# = 127.0/s
  s = MouseX()

  x = x + 10

  For z=0 To s Step 25

  For a=0 To 360

   r = 127+Sin(a+x)*(z*rf#)
   g = 127+Sin(a+x+120)*(z*rf#)
   b = 127+Sin(a+x+240)*(z*rf#)
   
   Color r,g,b
   Rect 320+Sin(a)*z, 240+Cos(a)*z,25,25

  Next
  Next

 Flip 0
Wend
, aber wenn ich die äussere Farbe auslesen lasse, dann ist das nicht 100% rot, oder grün und usw. Zu dem weiß ich auch nicht, wie ich das mache, das man dann die Helligkeit und so einstellt.
°_° °.° °~° °v° .. -.-

StepTiger

BeitragMi, März 14, 2007 23:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Helligkeit berechnest du mit Hilfe von Abstand zum Mittelpunkt (siehe Satz des Pythagoras) und Radius des Kreises.
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer:
AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t
Gewinner: BP Code Compo #2
Π=3.141592653589793238...<--- und das aus dem kopf Laughing
Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser.

TheMatrix

BeitragMi, März 14, 2007 23:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Hmm, in Mahte hatt ich immer ne 5^^.

Weiß nur noch, dass Pytagoras was mit c²=a+b war ^^. Was das aber im einzelnen bedeutet, weiß der Geier. Ich meine, wenn man sich in Paint eine Farbe wählt, dann kann man doch mit einem Regler noch den Farbfert verändern. Wie errechnet man das?
°_° °.° °~° °v° .. -.-

StepTiger

BeitragMi, März 14, 2007 23:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Indem du im Farbkreis den Abstand erhöhst oder verringerst. Satz des Pythagoras ist a²+b²=c². In einem rechtwinkligen Dreieck gibt die Summe der Quadrate der Katheten gleich das Quadrat der Hypotenuse.
Ist auch logisch herleitbar. Also dist=sqr(x^2+y^2).

Jetzt besser?
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer:
AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t
Gewinner: BP Code Compo #2
Π=3.141592653589793238...<--- und das aus dem kopf Laughing
Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser.

TheMatrix

BeitragDo, März 15, 2007 0:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Öhhm kla raff ich Cool . Ne, ich zieh mir das glaube ich nochmal richtig in Google rein, weil ich weiß echt nicht mehr was das alles zu bedeuten hat. Wie gesagt, ich kann grad mal Prozentrechnen und das wars *schäm*. Naja, ich gebs aber auch zu Laughing . Nun gut, danke für die Antworten. Das es nicht richtig Rot geworden ist, lag daran, weil ich den maximal wert wohl irgendwie zu tief gesetzt hab.

Juhu, bald is meine GUI vollständig ^^.(Naja fast vollständig Cool )
°_° °.° °~° °v° .. -.-
 

Weazle25

BeitragSo, März 18, 2007 18:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Warum machst Du es nicht wie bei QNX?

user posted image

Dann könntest Du dem User auch die Möglichkeit geben eigene Farbpaletten zu verwenden.

Hier alle 256 abgebildeten Farben als Hexwerte (spaltenweise):

Code: [AUSKLAPPEN]

593332
6D4846
8D534F
AC6F69
BA7D79
2E462F
3F5340
505F51
62786D
768780
43301A
4D3C28
594F41
71685B
8B8379
332A29
C63C51
D34F5F
C86E6E
DA817C
CB9D9F
406240
5C745D
6F907C
91AC9E
BFC4BF
6D4C27
8B6041
906F54
AA9781
C7BFB5
293F29
FA3F55
E67377
E19B91
E6B3B1
E5CDCF
579260
7CA784
9EBB9F
C4D6C5
E1EAE2
987041
A88966
C6B39B
D9CDBD
EDE9E0
391C1F
762600
96411D
A55B43
A36F5A
B38672
4D002A
5C1E40
673E54
885C74
AC879B
222941
3B4056
545866
777980
969798
202434
BE4230
D75535
D87654
E79576
E3B08E
A2045A
B73B7F
CE7CA8
DBA5C2
D4BFCA
45517A
646F94
7B839B
9B9FAD
C6C6C8
430024
FF4A20
FF773A
FFAB77
FBCDA5
F4DECB
E2007F
FC4AAB
FF92CC
FFC4E3
FFEBF6
6271A0
848FB5
A7AFCA
D3D7E4
EBEDF2
723600
002D4E
1F4A60
2D7782
008070
26B088
3B5400
4D6718
6F8648
859B66
96A385
41005C
552F69
674E7B
817093
958AA3
35004B
006EC2
2684C5
28B4C8
68B6CD
B5C3CA
74A300
90BB37
A5C966
BBD990
D3E5BA
8500B6
A04ACF
AD7ED0
B89BD0
C0B5CB
273600
0090FF
30C8F0
20FFFF
84EAFF
D3ECFF
B4FF00
C9F575
D2FF87
DBFFA9
EBFFCF
B400FF
CE6CFF
DA93FF
E9C1FF
F6E3FF
00223C
594100
6D5516
796431
787445
8C8269
5F005F
762D69
804375
805575
846778
4A4B00
5F6004
737510
87873D
9A9B57
3B3C00
B88700
C7A13B
BCA158
BFB283
C4BC9B
AB06AB
AE40AE
B25EB2
B27CB2
BA9FBA
A4A604
BBBC3E
BFC06D
CBCC8B
CECFB0
530053
FFC11A
FFD051
FFDB79
FFE6A2
FFF2CD
FF20FF
FF57FF
FF87FF
FFB2FF
FFDAFF
FFFF20
FFFF4C
FFFF82
FFFFC1
FFFFE1
533B00
790001
8D1F1F
94383B
8C4E4F
9C6869
005900
106E10
207320
3C7B3C
4E804E
000055
1C1C5D
36366D
52527F
626284
000035
B91315
C51214
B84D4F
D87F7F
CBB4B4
00A000
3EAB3E
5BAB5B
83B084
A3B9A3
0000A0
35359A
5050A5
7979A7
A6A6B7
003B00
FF2020
F84E4E
F47373
F09F9F
EEDCDB
00FF00
20FF20
8CFF8C
B4F3B4
CFF2CF
2020FF
5757FF
8C8CFF
C2C2FF
E0E0FF
540000
000000
181818
282828
3E3E3E
545454
606060
808080
909090
989898
ACACAC
C0C0C0
C6C6C6
D8D8D8
E4E4E4
F2F2F2
FFFFFF


Gruss
Weazle

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group