Also ich hab grad ein Problem mit dem auslesen
von RGB Werten bei Images.
Ich möchte von jedem Pixel des Bilds die Farbe auslesen,
und mit einer definierten Farbe vergleichen.
Es soll also so eine Vorlage sein, aber es funktioniert nicht richtig.
Die Pixel sind definitiv alle von der Farbe: 0,0,255, habs mit PS
mehrmals überprüft. Hab mit dem Bild auch schon als PNG,
Gif usw getestet.
Wenn ich mir jetzt die Werte ausgeben lasse, erhalte ich immer:
Pixel:
-16777216
Farbe:
-16776961
Woher kommt diese (kleine) Ungenauigkeit?
Wenn ich es andersrum mache, also so:
dann gehts auch nicht. Bei der Variante
erhalte ich für alle 3 Werte 0.
Also Rot=0, Grün=0, Blau=0.
Jetzt bin ich ein bisschen verwirrt.
Weiß jemand von euch was ich falsch mache?
Und das Bild hat auch kein Alphakanal, wenn ichs aber mit TYPE_INT_ARGB
einlese ist der RGB Wert 0....
???:L
von RGB Werten bei Images.
Ich möchte von jedem Pixel des Bilds die Farbe auslesen,
und mit einer definierten Farbe vergleichen.
Es soll also so eine Vorlage sein, aber es funktioniert nicht richtig.
Java:
Image m=Toolkit.getDefaultToolkit().getImage( filename );
BufferedImage map=new BufferedImage(900,679,BufferedImage.TYPE_INT_RGB);
map.getGraphics().drawImage(m,0,0,null);
for(int i=0; i<900; i++)
{
for(int h=0; h<679; h++)
{
int rgb=map.getRGB(i, h);
if(rgb==new Color(0,0,255).getRGB())
{
//Blau
}
}
}
Die Pixel sind definitiv alle von der Farbe: 0,0,255, habs mit PS
mehrmals überprüft. Hab mit dem Bild auch schon als PNG,
Gif usw getestet.
Wenn ich mir jetzt die Werte ausgeben lasse, erhalte ich immer:
Pixel:
-16777216
Farbe:
-16776961
Woher kommt diese (kleine) Ungenauigkeit?
Wenn ich es andersrum mache, also so:
Java:
Color c=new Color(rgb);
if(c.getBlue()=255&&c.getRed()==0&&c.getGreen()==0)
{
}
erhalte ich für alle 3 Werte 0.
Also Rot=0, Grün=0, Blau=0.
Jetzt bin ich ein bisschen verwirrt.
Weiß jemand von euch was ich falsch mache?
Und das Bild hat auch kein Alphakanal, wenn ichs aber mit TYPE_INT_ARGB
einlese ist der RGB Wert 0....
???:L