Farbe im Bild auf einer double-Position ermitteln

Jellysheep

Erfahrenes Mitglied
Hi,
kann ich bei einem BufferedImage (oder einer ähnlichen Klasse) herausfinden, welche Farbe z.B. auf der Position x=12,364 und y=35,826 wäre?
Oder muss man einen solchen "Mischwert" der umgebenden Pixeln selbst berechnen?

Vielen Dank schonmal!
 
Hi,

ich denke mal du verwendest
Java:
try{
java.awt.Robot rob = new java.awt.Robot();
}
catch(java.awt.AWTException ex){
}
Color pixelColor = rob.getPixelColor(12, 35);
javadoc: Robot

Da musst du wohl dem Misch-Wert berechnen, denn:
  1. es gibt keine Methode getPixelColor(double, double);
  2. es gibt nun mal keine "halben" Pixel, wie soll Java dann den Wert bestimmen?
    (außer du schreibst eben ein Programm, das "mischt")
  3. brauchst du wirklich einen so genauen Wert, sonst caste doch einfach auf int

javaDeveloper2011
 
Ok, dankeschön, javaDeveloper2011! :)
Ja genau, das soll es in etwa werden, ich möchte eine spezielle Verzerrung eines Bildes programmieren.
(Genauer gesagt eine Animation von Wasserwellen über einem Bild oder Screenshot, wie es z.B. Compiz auf Ubuntu macht.)
Wenn man die einzelnen R-, G- und B-Werte der um die Position herum liegenden 4 Pixel anteilhaft vermischt, kommt man auf ein ganz gutes Ergebnis, denke ich. Das werde ich dann selbst programmieren müssen. :)
Viele Grüße
Jellysheep
 

Neue Beiträge

Zurück