I am trying to recolor an image and I used this method to achieve it:
However it always colors the image completely one color, the one you hand it. I don't know if this is a error on my side or a bug, because there is absolutely no black in the Image, but it always reports this (printed from System.out line above)So is this because it is transparent? I painted it using a new color (new Color(255, 255, 255, 0)) so does it always go black? And if so, how can i fix this?
public void colorDiff(Color c) { GreenfootImage img = getImage(); for(int x = 0; x < getImage().getWidth(); x++) { for(int y = 0; y < getImage().getHeight(); y++) { System.out.println(img.getColorAt(x, y)+" "+img.getTransparency()+" "+img.getColorAt(x, y).getAlpha()+ " "+x+" "+y); if(img.getColorAt(x, y) != Color.black)img.setColorAt(x, y, c); Greenfoot.delay(50); } } setImage(img); }
java.awt.Color[r=0,g=0,b=0] 255 0 49 3 java.awt.Color[r=0,g=0,b=0] 255 0 49 4 java.awt.Color[r=0,g=0,b=0] 255 0 49 5 java.awt.Color[r=0,g=0,b=0] 255 0 49 6 java.awt.Color[r=0,g=0,b=0] 255 0 49 7 java.awt.Color[r=0,g=0,b=0] 255 0 49 8 java.awt.Color[r=0,g=0,b=0] 255 0 49 9 java.awt.Color[r=0,g=0,b=0] 255 0 49 10 java.awt.Color[r=0,g=0,b=0] 255 0 49 11 java.awt.Color[r=0,g=0,b=0] 255 0 49 12 java.awt.Color[r=0,g=0,b=0] 255 0 49 13 java.awt.Color[r=0,g=0,b=0] 255 0 49 14 java.awt.Color[r=0,g=0,b=0] 255 0 49 15 java.awt.Color[r=0,g=0,b=0] 255 0 49 16 java.awt.Color[r=0,g=0,b=0] 255 0 49 17 java.awt.Color[r=0,g=0,b=0] 255 0 49 18 java.awt.Color[r=0,g=0,b=0] 255 0 49 19 java.awt.Color[r=0,g=0,b=0] 255 0 49 20 java.awt.Color[r=0,g=0,b=0] 255 0 49 21 java.awt.Color[r=0,g=0,b=0] 255 0 49 22 java.awt.Color[r=0,g=0,b=0] 255 0 49 23 java.awt.Color[r=0,g=0,b=0] 255 0 49 24 java.awt.Color[r=0,g=0,b=0] 255 0 49 25 java.awt.Color[r=0,g=0,b=0] 255 0 49 26 java.awt.Color[r=0,g=0,b=0] 255 0 49 27 java.awt.Color[r=0,g=0,b=0] 255 0 49 28 java.awt.Color[r=0,g=0,b=0] 255 0 49 29 java.awt.Color[r=0,g=0,b=0] 255 0 49 30 java.awt.Color[r=0,g=0,b=0] 255 0 49 31 java.awt.Color[r=0,g=0,b=0] 255 0 49 32 java.awt.Color[r=0,g=0,b=0] 255 0 49 33 java.awt.Color[r=0,g=0,b=0] 255 0 49 34 java.awt.Color[r=0,g=0,b=0] 255 0 49 35 java.awt.Color[r=0,g=0,b=0] 255 0 49 36 java.awt.Color[r=0,g=0,b=0] 255 0 49 37 java.awt.Color[r=0,g=0,b=0] 255 0 49 38 java.awt.Color[r=0,g=0,b=0] 255 0 49 39 java.awt.Color[r=0,g=0,b=0] 255 0 49 40 java.awt.Color[r=0,g=0,b=0] 255 0 49 41 java.awt.Color[r=0,g=0,b=0] 255 0 49 42 java.awt.Color[r=0,g=0,b=0] 255 0 49 43 java.awt.Color[r=0,g=0,b=0] 255 0 49 44 java.awt.Color[r=0,g=0,b=0] 255 0 49 45 java.awt.Color[r=0,g=0,b=0] 255 0 49 46 java.awt.Color[r=0,g=0,b=0] 255 0 49 47 java.awt.Color[r=0,g=0,b=0] 255 0 49 48 java.awt.Color[r=0,g=0,b=0] 255 0 49 49