Farben

  • Hallo.
    Ich würde gerne mal wissen, wie Farben geschrieben werden.
    Ich meine z.B 0xff0000 oder sowas.
    Gibt es da eine Liste oder ähnliches, wie man das lernen kann.
    Früher konnte ich mal ein paar mit HTML-Erstellungsprogrammen aber die habe ich schon längst vergessen.
    Heute mache ich das nur noch mit ausprobieren. Was ich schon weiß ist, das Farben mit Hexadezimal-Zahlen geschrieben werden.

    Edit: Die Frage sollte eher so heißen. Gibt es bei Farben im Hexadezimalsystem, irgendein System wie man sie schreibt??

  • Hallo,
    ja, das System ist relativ einfach. Kommt nur darauf an, auf was man sich einigt^^
    Im 32-Bit-Farbsystem werden die einzelnen Farben als (hex) AARRGGBB oder AABBGGRR dargestellt
    Dabei sind die 2 Byte AA der Alphakanal (für die Transparenz), BB 2 Byte für Blau, GG 2 Byte für Grün und RR 2 Byte für Rot

    also ist (im RGB-Format) 00FF0000 ein Rot und 000000FF ein volles Blau.

    [autoit]

    $hgui=guicreate("")
    GUISetBkColor(0xFF0000,$hgui) ;RRGGBB
    guisetstate()
    for $i=1 to 0xFFFFFF
    GUISetBkColor($i,$hgui) ;RRGGBB
    next

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    Do
    until guigetmsg()=-3

    [/autoit]
  • die ersten beiden hex zahlen stehen für rot: 0-255 dezimal in hex 0 - FF
    die nächsten beiden für grün und die letzten beiden für blau
    und wenn du sie 8 stellig machst dann stehen die ersten beiden für transparenz also so:
    0xTTRRGGBB

    hatte mir da zu anfang meiner autoitzeit mal n kleines farbprogramm gebastelt vllt kannst dus ja gebrauchen
    mit F10 kann man die farbe der Mausposition bestimmen, oder halt über die inputs ;)

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #NoTrayIcon
    HotKeySet("{F10}", "Pixelfarbe")
    Global $maus, $farbe

    [/autoit] [autoit][/autoit] [autoit]

    $Wurm = GUICreate("Colorname", 242, 130, 194, 127)
    GUICtrlCreateGroup("Farbe:", 120, 8, 113, 49)
    GUICtrlCreateGroup("", 8, 56, 225, 65)
    GUICtrlCreateGroup("Rot", 16, 64, 65, 49)
    GUICtrlCreateGroup("Grün", 88, 64, 65, 49)
    GUICtrlCreateGroup("Blau", 160, 64, 65, 49)
    $Rot = GUICtrlCreateInput("0", 25, 81, 48, 25, 0x2001)
    GUICtrlSetLimit(GUICtrlCreateUpdown($Rot), 255, 0)
    $Gruen = GuiCtrlCreateInput("0", 97, 81, 48, 25, 0x2001)
    GUICtrlSetLimit(GUICtrlCreateUpdown($Gruen), 255, 0)
    $Blau = GuiCtrlCreateInput("0", 169, 81, 48, 25, 0x2001)
    GUICtrlSetLimit(GUICtrlCreateUpdown($Blau), 255, 0)
    GUICtrlCreateGroup("Hexwert", 8, 8, 105, 49)
    $Color = GUICtrlCreateInput("", 17, 24, 86, 24)
    GUICtrlSetLimit($Color, 6)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    GUICtrlSetResizing(-1, $GUI_DOCKAUTO)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Graphic = GUICtrlCreateGraphic(128, 24, 94, 21)
    GUISetState(@SW_SHOW)
    WinSetOnTop("Colorname", "", 1)

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Color
    GUICtrlSetData( $Rot, Dec(StringLeft(GUICtrlRead($Color), 2)))
    GUICtrlSetData( $Gruen, Dec(StringMid(GUICtrlRead($Color), 3, 2)))
    GUICtrlSetData( $Blau, Dec(StringRight(GUICtrlRead($Color), 2)))
    GUICtrlSetBkColor($Graphic, "0x"&guictrlread($Color))
    Case $Rot
    GUICtrlSetData( $Color, StringRight(Hex(Guictrlread($Rot)), 2) & StringRight(Hex(GUICtrlRead($Gruen)), 2) & StringRight(Hex(Guictrlread($Blau)), 2))
    GUICtrlSetBkColor($Graphic, "0x"&GUICtrlRead($Color))
    Case $Gruen
    GUICtrlSetData( $Color, StringRight(Hex(Guictrlread($Rot)), 2) & StringRight(Hex(GUICtrlRead($Gruen)), 2) & StringRight(Hex(Guictrlread($Blau)), 2))
    GUICtrlSetBkColor($Graphic, "0x"&GUICtrlRead($Color))
    Case $Blau
    GUICtrlSetData( $Color, StringRight(Hex(Guictrlread($Rot)), 2) & StringRight(Hex(GUICtrlRead($Gruen)), 2) & StringRight(Hex(Guictrlread($Blau)), 2))
    GUICtrlSetBkColor($Graphic, "0x"&GUICtrlRead($Color))
    EndSwitch
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func Pixelfarbe()
    $maus = MouseGetPos()
    $farbe = PixelGetColor( $maus[0], $maus[1])
    GUICtrlSetData( $Color, StringRight(Hex($farbe), 6))
    GUICtrlSetBkColor($Graphic, "0x"&guictrlread($Color))
    GUICtrlSetData( $Rot, Dec(StringLeft(GUICtrlRead($Color), 2)))
    GUICtrlSetData( $Gruen, Dec(StringMid(GUICtrlRead($Color), 3, 2)))
    GUICtrlSetData( $Blau, Dec(StringRight(GUICtrlRead($Color), 2)))
    EndFunc

    [/autoit]

    edit: man bin ich heut langsam :D

  • Zitat

    edit: man bin ich heut langsam

    ...und hast genau wie ich auch noch den Hinweis auf

    [autoit]

    _choosecolor()

    [/autoit]

    vergessen ^^