Hallo,
ich möchte ein Script erstellen (JScript), welches Pixel oder Pixelbereiche eines Bildes scannt und letztendlich die RGB-Komponenten (aufgelöst nach R, G und B) analysiert bzw. für weitere Manipulationen / Berechnungen zugänglich macht. Sowohl als Integer als auch eventuell als String (nach dem Motto: FF_DrawText(text1, 10, 10, 22, 0, 400, false, false, schriftart, 0), wobei "text1" heissen könnte "Rotwert an Koordinate x,y ist 228" oder ähnlich.
Ausgehend von z.B. "farbe = FF_GetPixel(50,50);" muss ja COLORREF in die Komponenten (von 0 bis 255) zerlegt werden. In dem MasterFramer-Script (MFDL.js) habe ich die schöne Funktion "colors" gefunden, die ich unten nochmal anfüge und die ja eigentlich alles beinhaltet, was man braucht?!
Meine Frage nun als nicht so versierter Programmierer: Wie mache ich mir diese Funktion nützlich, wie ziehe ich die Information da raus, wie lautet die Syntax? Könnte mir da mal jemand einen kleinen Startschuss geben. Z.B.
"farbe = FF_GetPixel(50,50);" liefert mir COLORREF. Da ich mit "this.FromCR = function(co) usw." leider nicht so viel anfangen kann, wie lautet die exakte Syntax, um nun letzendlich "KomponenteRot=228" (Integer) zur Verfügung zu haben? Oder von "this.Format = function()..." nach dem "FF_GetPixel(x,y);" dann mal ein "var text1 = "Rotwert Pos. x/y ist 228";" zur Verfügung zu haben. Bitte nicht falsch verstehen, ich habe schon kleinere C-Programme geschrieben (nicht C++!), aber irgendwie bräucht ich mal ein Beispiel! Va "this.irgendwas" macht mir Probleme, ich kenne das nicht auf diese Art.
Freue mich auf Antwort!
ich möchte ein Script erstellen (JScript), welches Pixel oder Pixelbereiche eines Bildes scannt und letztendlich die RGB-Komponenten (aufgelöst nach R, G und B) analysiert bzw. für weitere Manipulationen / Berechnungen zugänglich macht. Sowohl als Integer als auch eventuell als String (nach dem Motto: FF_DrawText(text1, 10, 10, 22, 0, 400, false, false, schriftart, 0), wobei "text1" heissen könnte "Rotwert an Koordinate x,y ist 228" oder ähnlich.
Ausgehend von z.B. "farbe = FF_GetPixel(50,50);" muss ja COLORREF in die Komponenten (von 0 bis 255) zerlegt werden. In dem MasterFramer-Script (MFDL.js) habe ich die schöne Funktion "colors" gefunden, die ich unten nochmal anfüge und die ja eigentlich alles beinhaltet, was man braucht?!
Meine Frage nun als nicht so versierter Programmierer: Wie mache ich mir diese Funktion nützlich, wie ziehe ich die Information da raus, wie lautet die Syntax? Könnte mir da mal jemand einen kleinen Startschuss geben. Z.B.
"farbe = FF_GetPixel(50,50);" liefert mir COLORREF. Da ich mit "this.FromCR = function(co) usw." leider nicht so viel anfangen kann, wie lautet die exakte Syntax, um nun letzendlich "KomponenteRot=228" (Integer) zur Verfügung zu haben? Oder von "this.Format = function()..." nach dem "FF_GetPixel(x,y);" dann mal ein "var text1 = "Rotwert Pos. x/y ist 228";" zur Verfügung zu haben. Bitte nicht falsch verstehen, ich habe schon kleinere C-Programme geschrieben (nicht C++!), aber irgendwie bräucht ich mal ein Beispiel! Va "this.irgendwas" macht mir Probleme, ich kenne das nicht auf diese Art.
Freue mich auf Antwort!
Code:
function Colors()
{
this.r = this.g = this.b = 0;
// Konvertierung von "RRR GGG BBB"
this.Scan = function(color)
{
var c = color.split(" ");
this.r = parseInt(c[0],10);
this.g = parseInt(c[1],10);
this.b = parseInt(c[2],10);
}
// Konvertierung von COLORREF
this.FromCR = function(co)
{
this.b = (co >>> 16) & 255;
this.g = (co >>> 8) & 255;
this.r = co & 255;
}
// Konvertierung nach "RRR GGG BBB"
this.Format = function()
{
var i,s = new Array(this.r.toString(),
this.g.toString(),
this.b.toString());
for(i=0; i<3; i++)
{
if(s[i].length < 2) s[i] = "00" + s[i];
else {if(s[i].length < 3) s[i] = "0" + s[i];}
}
return(s[0] + " " + s[1] + " " + s[2]);
}
// Konvertierung nach COLORFREF
this.ToCR = function()
{return (this.b << 16) + (this.g << 8) + this.r;}
}