NEWS
Farbe aus einen Bild auslesen
-
Mit der Hilfe von Zusatzlibs
-
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
-
….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
-
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 -
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)); -
…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
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden