Hi und Fohes neues,
ich versuche mir gerade eine Methode zu schreiben bei der ich ein BufferedImage hab und den Durchschnitt der Farbwerte aller Pixel um das eine angegebene herum berechne. Also mit dem angegebenen insgesamt 9.
Die Methode dazu sieht bis jetzt so aus:
Momentan definiere ich ja noch in der Methode selber aus welchem BufferedImage die Pixel gezogen werden sollen. Ich würde das aber lieber so machen, dass ich da wo ich die Methode einsetzte auch sage von welchem Bild die Pixel gezogen werden sollen, also so: value = BildAusDemPixelGezogenWerdenSollen.aveRGB(x, y); Wie genau das geht weiss ich bis jetzt noch nicht, was damit eine meiner Fragen wäre.
Meine Zweite Frage, die wahrscheinlich en bischen einfacher ist, ob es möglich ist aus einem Arrey direkt den Durchschnitt zu berechnen, nich wie hier mit der for-schleife.
Und zum Dritten, was ja auch im Zusammenhang mit der ersten Frage steht, wie ich die Daten zurück gebe.
Ich hoffe ich hab mein Anliegen halbwegs verständlich erklärt. Ansonsten einfach fragen. Wenn jemand auch noch ne bessere Möglichkeit kennt als die for-schleifen, um die Pixel drum herum abzufragen, wäre ich auch dankbar die zu erfahren ^^.
Gruß toti
ich versuche mir gerade eine Methode zu schreiben bei der ich ein BufferedImage hab und den Durchschnitt der Farbwerte aller Pixel um das eine angegebene herum berechne. Also mit dem angegebenen insgesamt 9.
Die Methode dazu sieht bis jetzt so aus:
Code:
public class RGB {
public void aveRGB(int x, int y)
{
int ave = 0;
int cx = x -1;
int cy = y -1;
int p[] = new int[9];
for(int i=0; i<=2; i++)
{
p[i] = buffer.buffImg.getRGB(cx+i, cy);
}
for(int i=0; i<=2; i++)
{
p[i+4] = buffer.buffImg.getRGB(cx+i, cy+1);
}
for(int i=0; i<=2; i++)
{
p[i+7] = buffer.buffImg.getRGB(cx+i, cy+2);
}
for(int i=1; i<=9; i++)
{
ave = ave + p[i];
}
}
}
Momentan definiere ich ja noch in der Methode selber aus welchem BufferedImage die Pixel gezogen werden sollen. Ich würde das aber lieber so machen, dass ich da wo ich die Methode einsetzte auch sage von welchem Bild die Pixel gezogen werden sollen, also so: value = BildAusDemPixelGezogenWerdenSollen.aveRGB(x, y); Wie genau das geht weiss ich bis jetzt noch nicht, was damit eine meiner Fragen wäre.
Meine Zweite Frage, die wahrscheinlich en bischen einfacher ist, ob es möglich ist aus einem Arrey direkt den Durchschnitt zu berechnen, nich wie hier mit der for-schleife.
Und zum Dritten, was ja auch im Zusammenhang mit der ersten Frage steht, wie ich die Daten zurück gebe.
Ich hoffe ich hab mein Anliegen halbwegs verständlich erklärt. Ansonsten einfach fragen. Wenn jemand auch noch ne bessere Möglichkeit kennt als die for-schleifen, um die Pixel drum herum abzufragen, wäre ich auch dankbar die zu erfahren ^^.
Gruß toti