Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Farbe aus einen Bild auslesen

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.6k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    996

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.3k

Farbe aus einen Bild auslesen

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
9 Beiträge 3 Kommentatoren 1.5k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • T Offline
    T Offline
    torstenh
    schrieb am zuletzt editiert von
    #1

    Hallo Gemeinde,

    ich habe mal eine Frage an die Wissenden, ist es in node.js möglich die Farbe eines bestimmten Pixels in einem Bild auszulesen?

    Grüße,

    Torsten

    1 Antwort Letzte Antwort
    0
    • BluefoxB Offline
      BluefoxB Offline
      Bluefox
      schrieb am zuletzt editiert von
      #2

      Mit der Hilfe von Zusatzlibs

      https://www.npmjs.com/package/get-pixels

      1 Antwort Letzte Antwort
      0
      • T Offline
        T Offline
        torstenh
        schrieb am zuletzt editiert von
        #3

        …..DANKE!

        Ich war mir nicht sicher aber es geht!

        Torsten

        1 Antwort Letzte Antwort
        0
        • T Offline
          T Offline
          torstenh
          schrieb am zuletzt editiert von
          #4

          Hallo zusammen,

          mit diesem Besipiel geht es ja:

          var Jimp    = require("jimp");
          
          var pixel;
          
          Jimp.read('E:/test.jpg', function (err, image) {
              pixel = image.getPixelColor(100,10);
              console.log(pixel);
          });
          

          Die Rückgabe ist ein Wert: javascript.1 script.js.Testordner.get_pix: 4294967295

          Leider kann ich diesen nicht als HEX Wert interpretieren und habe versuch mit "Jimp.intToRGBA(hex);"

          die RGB Werte zu bekommen, leider finde ich keine wirkliche Lösung wie ich "Jimp.intToRGBA(hex);" in den Script verarbeiten soll.

          Kann mir jemand auf die Sprünge helfen?

          Grüße,

          Torsten

          1 Antwort Letzte Antwort
          0
          • Jey CeeJ Online
            Jey CeeJ Online
            Jey Cee
            Developer
            schrieb am zuletzt editiert von
            #5

            Versuchs mal mit

            var RGB = Jimp.intToRGBA(pixel)
            log(RGB)
            

            Gesendet von Unterwegs

            Persönlicher Support
            Spenden -> paypal.me/J3YC33

            1 Antwort Letzte Antwort
            0
            • T Offline
              T Offline
              torstenh
              schrieb am zuletzt editiert von
              #6

              ….mmmmh habe ich schon, da bekomme ich: javascript.1 script.js.Testordner.get_pix: [object Object] als Wert zurück.

              habe auch schon:

              var Jimp    = require("jimp");
              
              var pixel;
              
              Jimp.read('E:/test.jpg', function (err, image) {
                  pixel = image.getPixelColor(100,10);
                  console.log(pixel);
              
                  var RGB = Jimp.intToRGBA(pixel).toString();
                  console.log(RGB);
              
              });
              

              probiert, es ist bestimmt wieder nur was kleines :twisted:

              Trotzdem Danke….

              Grüße,

              Torsten

              Ich habe es:

              console.log(JSON.stringify(RGB));
              

              DANKE

              1 Antwort Letzte Antwort
              0
              • Jey CeeJ Online
                Jey CeeJ Online
                Jey Cee
                Developer
                schrieb am zuletzt editiert von
                #7

                OK dann musst du

                JSON.stringify(RGB)
                

                Verwenden um aus dem JSON Objekt einen String zu machen.

                Auf die einzelnen Elemente im JSON kannst du etwa so zugreifen````
                RGB['r']

                r steht hier, ich hoffe es, für den wert von Rot. Prinzipiell steht r in diesem Beispiel für den key, wenn du diesen key aufrufst bekommst du direkt den Wert geliefert.
                
                Gesendet von Unterwegs

                Persönlicher Support
                Spenden -> paypal.me/J3YC33

                1 Antwort Letzte Antwort
                0
                • BluefoxB Offline
                  BluefoxB Offline
                  Bluefox
                  schrieb am zuletzt editiert von
                  #8
                  pixel = image.getPixelColor(100,10);
                  
                  function padStart(source, targetLength,padString) {
                    targetLength = targetLength>>0; //floor if number or convert non-number to 0;
                    padString = String(padString || ' ');
                    if (source.length > targetLength) {
                      return source;
                    }
                    else {
                      targetLength = targetLength - source.length;
                      if (targetLength > padString.length) {
                        padString += padString.repeat(targetLength / padString.length); //append to original to ensure we are longer than needed
                      }
                      return padString.slice(0,targetLength) + String(source);
                    }
                  };
                  
                  console.log('#' + padStart(pixel.toString(16), 8));
                  
                  
                  1 Antwort Letzte Antwort
                  0
                  • T Offline
                    T Offline
                    torstenh
                    schrieb am zuletzt editiert von
                    #9

                    …Danke euch beiden. Beides sehr hilfreich!

                    ! ````
                    ! var Jimp = require("jimp");
                    var pixel;
                    var RGB;
                    var pixel_rgb;
                    var red_value;
                    var green_value;
                    var blue_value;
                    ! //Return as RGB ;-)
                    //########################################
                    Jimp.read("E:/test.jpg", function (err, image) {
                    pixel = image.getPixelColor(100,100);
                    RGB = Jimp.intToRGBA(pixel);
                    pixel_rgb = JSON.stringify(RGB);
                    red_value = RGB['r'];
                    green_value = RGB['g'];
                    blue_value = RGB['b'];

                    console.log(pixel_rgb);
                    console.log(red_value);
                    console.log(green_value);
                    console.log(blue_value);
                    

                    //Return as HEX
                    //########################################
                    function padStart(source, targetLength,padString) {
                    targetLength = targetLength>>0; //floor if number or convert non-number to 0;
                    padString = String(padString || ' ');
                    if (source.length > targetLength) {
                    return source;
                    }
                    else {
                    targetLength = targetLength - source.length;
                    if (targetLength > padString.length) {
                    padString += padString.repeat(targetLength / padString.length); //append to original to ensure we are longer than needed
                    }
                    return padString.slice(0,targetLength) + String(source);
                    }
                    }

                    ! console.log('#' + padStart(pixel.toString(16), 8));
                    });
                    ! ````
                    …..wenn es noch jemand benötigt!

                    Grüße,

                    Torsten

                    1 Antwort Letzte Antwort
                    0
                    Antworten
                    • In einem neuen Thema antworten
                    Anmelden zum Antworten
                    • Älteste zuerst
                    • Neuste zuerst
                    • Meiste Stimmen


                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    704

                    Online

                    32.6k

                    Benutzer

                    82.3k

                    Themen

                    1.3m

                    Beiträge
                    Community
                    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                    ioBroker Community 2014-2025
                    logo
                    • Anmelden

                    • Du hast noch kein Konto? Registrieren

                    • Anmelden oder registrieren, um zu suchen
                    • Erster Beitrag
                      Letzter Beitrag
                    0
                    • Home
                    • Aktuell
                    • Tags
                    • Ungelesen 0
                    • Kategorien
                    • Unreplied
                    • Beliebt
                    • GitHub
                    • Docu
                    • Hilfe