Achim: Pixelfarbe auslesen

Hallo!

Gibt es die Möglichkeit, mithilfe von JavaScript (ähnlich wie die Mausposition) die Farbwerte des Pixels auszulesen, an welchem sich der Mauszeiger gerade befindet?

Beispiel: Mauszeiger über roter Fläche, Wert also #FF0000... etc.

Danke schon mal im voraus für Antworten.

Viele Grüße, Achim

  1. Hy Achim,

    allgemein erst einmal: weiß ich nicht !

    Aber ich kann einige Gedanken dazu äußern:

    Man könnte theoretisch verschieden Methoden verwenden
       a) Bei Zugriff auf die tatsächliche Grafik dürfte es im
          Bezug auf die Farbe keine Probleme geben.
       b) Bei Zugriff über die Darstellung am Monitor dürfte
          es mehrere Probleme geben:
          - Es gibt verschiedene Farbauflösungen (8, 16, 24, 32, 48 Bit)
          Jenachdem welche Auflösung Aktiv ist werden unterschiedliche
          Farbwerte dargestellt.
          - Sofern eine andere Auflösung aktiv ist, als beim Erstellen
          der Grafik wird gedithert. Jeder Browser (System, etc.)
          dithert anders, daß heißt Farbwerte können für ein
          bestimmtes Pixel an vielen PCs anders sein.

  2. Hi Achim,

    Gibt es die Möglichkeit, mithilfe von JavaScript (ähnlich wie die Mausposition) die Farbwerte des Pixels auszulesen, an welchem sich der Mauszeiger gerade befindet?

    in dieser Grundsätzlichkeit, wenn du also auf die Farbe eines Pixels des Fensters zugreifen willst, nicht.

    Beispiel: Mauszeiger über roter Fläche, Wert also #FF0000... etc.

    Ich habe habe mich überwunden und etwas gebastelt... [1] Du kannst die Hintergrundfarbe wie folgt abfragen:

    <?xml version="1.1" encoding="iso-8859-1" ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de-AT">
    <head>
    <title>Hintergrund</title>
    <script type="text/javascript">
    <!--
    function zeige(x) {
     if (document.getElementById) {
      document.getElementById("aktuell").firstChild.nodeValue = x;
     }
    }
    //-->
    </script>
    </head>
    <body>

    <p>Aktuelle Hintergrundfarbe: <span id="aktuell">undefiniert</span></p>

    <div style="position:absolute; top:100px; left:100px; width:400px; height:150px; background-color:#f00;"
      onmouseover="zeige(this.style.backgroundColor);" onmouseout="zeige('undefiniert');">
    </div>

    <div style="position:absolute; top:150px; left:150px; width:150px; height:150px; background-color:#ff0;"
      onmouseover="zeige(this.style.backgroundColor);" onmouseout="zeige('undefiniert');">
    </div>

    <div style="position:absolute; top:220px; left:250px; width:150px; height:100px; background-color:#abc;"
      onmouseover="zeige(this.style.backgroundColor);" onmouseout="zeige('undefiniert');">
    </div>

    </body>
    </html>

    Das ist allerdings noch verbesserungswürdig, weil es mit alten Browsern nicht funktioniert und ich mich fast nie mit Javascript beschäftige; jedenfalls kannst du dir dieses Beispiel unter http://skop.net/self/get_bg.html ansehen.

    LG Orlando

    [1] Wer von euch ohne Sünde ist, werfe den ersten Stein ;)

    --
    SELF-TREFFEN 2002
    http://www.rtbg.de/selftreffen/
    http://www.megpalffy.org/temp/penneninhh.html

    1. Hallo Orlando!

      in dieser Grundsätzlichkeit, wenn du also auf die Farbe eines Pixels des Fensters zugreifen willst, nicht.

      Ja, das hatte ich befürchtet. Mir war bisher dazu nichts untergekommen...

      Ich habe habe mich überwunden und etwas gebastelt...

      Gefällt mir. Werde die Anregungen aufnehmen und weiterbasteln. Danke für Dein Engagement!

      Gruß, Achim

  3. Hallo,

    Gibt es die Möglichkeit, mithilfe von JavaScript (ähnlich wie die Mausposition) die Farbwerte des Pixels auszulesen, an welchem sich der Mauszeiger gerade befindet?

    Ein einzelnes Pixel laesst sich nicht abgreifen.

    Beispiel: Mauszeiger über roter Fläche, Wert also #FF0000... etc.

    Wenn man DIVs als "große Pixel" auffasst, dann z. B. in dieser Art: http://www.styleassistant.de/tips/beispiel36a.htm. Die farbigen DIVs werden zufaellig erzeugt und die Hex-Farbwerte werden mittels title-Attribut ausgegeben.

    MfG, Thomas