Pampel: RGB- in Access-Long-Farbwerte umrechnen

hallo zusammen,

wie ich aus einem access-farbwert (longWert=14810309) die rgb-anteile (197,252,225) errechne, weiß ich, dafür habe ich eine formel:

Rot = longWert Mod 256
longWert = (longWert - Rot) / 256
Grün = longWert Mod 256
longWert = (longWert - Grün) / 256
Blau = longWert Mod 256

wie lautet aber die umkehrung, d.h., wie komme ich rechnerisch von rgb (197,252,225) auf meiner access-long-wert? komme mit der umkehrung der mod-funktion nicht klar.

danke für hinweise.

gruß,

pampel

  1. Hi,

    komme mit der umkehrung der mod-funktion nicht klar.

    betrachte sie nicht getrennt von der übrigen Berechnung. Und beachte, dass die Modulo-Rechnung des letzten Wertes überflüssig ist.

    Cheatah

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. hey,

      probiere schon über ne stunde und habe auch schon ansätze im netz gefunden. bekomme es aber nicht hin.

      pampal

      1. Hi,

        probiere schon über ne stunde und habe auch schon ansätze im netz gefunden. bekomme es aber nicht hin.

        kaum zu glauben. Der Weg zurück ist sehr viel leichter als der, den Du schon zu gehen weißt. Vielleicht kannst Du ihn Dir besser vorstellen, wenn Du einfach mal annimmst, die Werte für Rot, Grün und Blau gingen nur von 0 bis 9?

        Cheatah

        --
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. Hey,

          ... und Danke :-)

          Gruß,

          Pampel

  2. Hallo P. (ich wage diesen Namen nicht auszuschreiben ;-),

    Rot = longWert Mod 256
    longWert = (longWert - Rot) / 256
    Grün = longWert Mod 256
    longWert = (longWert - Grün) / 256
    Blau = longWert Mod 256

    Ich weiß nicht, ob diese Reihenfolge stimmt. Demnach ergäbe sich nämlich für Rot der letzte Anteil der Zahl, statt der erste. Wie dem auch sei: um von 197,252,225 nach 14810309 zu kommen rechnet man einfach:

    225 * 256 * 256
    +
    252 * 256
    +
    197 * 1 <- da hat Cheatah indirekt schon drauf hingewiesen.

    14810309

    aber wie gesagt: hier entspräche der hohe Anteil der Zahl (also die ersten beiden Ziffern der gleichbedeutenden Hex-Zahl E1FCC5) dem Grün-Wert, statt dem Rot-Wert.

    So, und jetzt bist Du dran: Warum funktioniert die obige Rechnung? ;-)

    Gruß, Andreas

    --
    <img src="http://was-ist-das.andreas-lindig.de/was_ist_das_fetzen.jpg" border="0" alt="">
    hier könnte auch ruhig mal'n neues Bild stehen.
    1. Hey,

      was stört (?) Dich an meinem Namen?

      Danke für Deinen Ansatz. Hier meine Formel:
      lngWert = (((B x 256) + G) x 256) + R

      Wenn man's ausmultipliziert kommt Deine Formel raus.

      Gruß,

      Pampel

      1. lngWert = (((B x 256) + G) x 256) + R

        Wenn man's ausmultipliziert kommt Deine Formel raus.

        würde trotzdem mal überprüfen, ob Du nicht R und B vertauschen mußt.

        Gruß, Andreas

        --
        <img src="http://was-ist-das.andreas-lindig.de/was_ist_das_fetzen.jpg" border="0" alt="">
        hier könnte auch ruhig mal'n neues Bild stehen.
        1. hey,

          Rot = longWert Mod 256
          longWert = (longWert - Rot) / 256
          Grün = longWert Mod 256
          longWert = (longWert - Grün) / 256
          Blau = longWert Mod 256

          es hat zwar ne weile gedauert, aber da die obige formrl die richtigen rgb-werte liefert, ist meine bzw. deine formel die exakte rückrechnung und sollte somit stimmen.

          gruß,

          pampel, der immer noch nicht weiß, was du für ein "problem" mit seinem namen hast...

          1. es hat zwar ne weile gedauert, aber da die obige formrl die richtigen rgb-werte liefert, ist meine bzw. deine formel die exakte rückrechnung und sollte somit stimmen.

            ja, die Rückrechnung stimmt, aber: stimmt die Ausgangszahl? Ich weiß es nicht, weil ich diese Integer-Werte noch nie benutzt habe, aber wenn sie die gleiche Zahl darstellen sollen, wie der jeweilige Hex-Wert einer Farbe, ist der Ausgangswert eben falsch.

            pampel, der immer noch nicht weiß, was du für ein "problem" mit seinem namen hast...

            solange Du keines hast, ist es doch egal ,-)

            Gruß, Andreas

            --
            <img src="http://was-ist-das.andreas-lindig.de/was_ist_das_fetzen.jpg" border="0" alt="">
            hier könnte auch ruhig mal'n neues Bild stehen.