Kalle_B: Seitenhintergrundfarbe ändern

Hallöle,

ich habe in der dunklen Jahreszeit festgestellt, dass ein leuchtend weisser Hintergrund am Tage okay ist, abends aber die Augen unnötig stark belastet.

Also habe ich auf meinen Seiten die Hintergrundfarbe rausgenommen (SELFHTML bleibt knallweiss), um der Browser- Grundeinstellung eine Chance zu geben.

Tagsüber ist das dann wieder zu flau.

Also habe ich ein paar Farbflecken gemacht, deren Farbe bei Klick die Hintergrundfarbe ergibt. Die Flecken sind nur bei aktivem Jacascript sichtbar, sonst macht es ja keinen Sinn.

Die Idee ist soweit ganz gut, noch pfiffiger wäre aber ein Regenbogen mit allen Farben. Wenn man den anklickt (oder einen Pfeil verschiebt), wird die Farbe dieses Pixels "aufgenommen" und zur Hintergrundfarbe.

Wie kann ich mit Javascript die Farbe eines Pixels ermitteln?

Kalle

  1. Hallo,

    Wie kann ich mit Javascript die Farbe eines Pixels ermitteln?

    überhaupt nicht. Du kannst bestenfalls die Position innerhalb eines Elements ermitteln, die angeklickt wurde. Wenn dieses Element nun ein Bild ist, in dem die Farben nach einer bestimmten bekannten Gesetzmäßigkeit verteilt sind, kannst du daraus indirekt auf die Farbe schließen. Das ist aber mehr Farbensehen für Blinde: "62cm von oben, 38cm von links, da müsste die Farbe hellbraungraurot sein".

    So long,
     Martin

    --
    Ein Snob ist ein Mensch, der sich auf ein Stachelschwein setzt, ohne eine Miene zu verziehen - nur weil ihm jemand gesagt hat, das sei ein Designersessel.
    1. "62cm von oben, 38cm von links, da müsste die Farbe hellbraungraurot sein".

      sinnigerweise rechnet man da in pixel in einem definierten farbraum :D

      1. Hallo,

        "62cm von oben, 38cm von links, da müsste die Farbe hellbraungraurot sein".
        sinnigerweise rechnet man da in pixel in einem definierten farbraum :D

        ja, ich dachte bei diesem Beispiel aber an einen blinden Kunstkenner in der Galerie der Alten Meister im Museum. ;-)

        Ciao,
         Martin

        --
        Wenn Zeit das Kostbarste ist, was wir haben, dann ist Zeitverschwendung die größte aller Verschwendungen.
          (Benjamin Franklin, amerikanischer Tüftler und Politiker)
  2. Wie kann ich mit Javascript die Farbe eines Pixels ermitteln?

    garnicht

    aber wenn du einen "regenbogen" in einem dir bekannten farbraum verfasst, kannst du anhand der klickposition ermitteln, was es für eine farbe ist

    nimm zb eine 360 pixel breite grafik, hier kannst du bei 100 sättigung und 100 helligkeit alle 360 möglichen farben auswählen

    mir ist übrigens kein 2-dimensionale darstellung für den rgb-farbraum bekannt - lediglich eine nährung in form eines projezierten würfels von beiden seiten (zwei sechsecke) wären denkbar - aber auf minimalem platz ohne redundanzen ist das wohl nicht möglich - alternativ gehts auch, den würfel "aufzufalten" (also das schnittmuster davon zu verwenden)

    ggf hilft dir eine suche nach "hsv ring" oder "rgb cube" weiter

    1. aber wenn du einen "regenbogen" in einem dir bekannten farbraum verfasst, kannst du anhand der klickposition ermitteln, was es für eine farbe ist

      Naja, das momentane Farbbild ist 100% breit als Unterstreichung des Seitentitels. Sieht gut aus. Klar, nun kann ich mir mit Photoshop alle paar Pixel die Farbe geben lassen und bekomme sowas wie

        
      var farben = new Array (  
       new Array ( '#ffffff','#000' )  
      ,new Array ( '#4745FF','#fff' )  
      ,new Array ( '#01FFF5','#000' )  
      ...  
      
      

      Der zweite Wert ist die Schriftfarbe, die ja möglichst konträr sein soll.

      Das Verfahren ist aber sehr unbefriedigend, weil aufwändig. Und bei einer anderen Farbgrafik (man will ja variabel bleiben) unbrauchbar.

      Da generiere ich doch lieber einen Farbverlauf aus 50 kleinen divs, jeder 2% breit und anklickbar. Zu erwarten, dass der IE das wieder nicht kann (Prozentrechnung).

      Irgendwo habe das als Studie schon mal gemacht, einen Farbverlauf rechnerisch generiert. Muss ich mal suchen ...

      Schade, dass man die Pixel nicht auslesen kann.

      Kalle