ImageUtil { public static BufferedImage fillImage(final BufferedImage image, final Color color) { final BufferedImage filledImage = new BufferedImage(image.getWidth(), image.getHeight(), BufferedImage.TYPE_INT_ARGB); for (int x = 0; x < filledImage.getWidth(); x++) { for (int y = 0; y < filledImage.getHeight(); y++) { final Color pixelColor = new Color(image.getRGB(x, y), true); if (pixelColor.getAlpha() == 0) { continue; } filledImage.setRGB(x, y, color.getRGB()); } } return filledImage; }  static BufferedImage bufferedImageFromImage(final Image image); static BufferedImage toARGB(final Image image); static BufferedImage luminanceOffset(final Image rawImg, final int offset); static BufferedImage luminanceScale(final Image rawImg, final float percentage); static BufferedImage alphaOffset(final Image rawImg, final int offset); static BufferedImage alphaOffset(final Image rawImg, final float percentage); static BufferedImage grayscaleImage(final BufferedImage image); static BufferedImage resizeImage(final BufferedImage image, final int newWidth, final int newHeight); static BufferedImage resizeCanvas(final BufferedImage image, final int newWidth, final int newHeight); static BufferedImage rotateImage(final BufferedImage image, final double theta); static BufferedImage flipImage(final BufferedImage image, final boolean horizontal, final boolean vertical); static BufferedImage outlineImage(final BufferedImage image, final Color color); static BufferedImage outlineImage(final BufferedImage image, final Color color, final Boolean outlineCorners); static BufferedImage getResourceStreamFromClass(final Class c, final String path); static BufferedImage fillImage(final BufferedImage image, final Color color); static SpritePixels getImageSpritePixels(BufferedImage image, Client client); static IndexedSprite getImageIndexedSprite(BufferedImage image, Client client);  }
@Test public void fillImage() { assertTrue(bufferedImagesEqual(centeredPixel(GRAY), ImageUtil.fillImage(centeredPixel(BLACK), GRAY))); assertTrue(bufferedImagesEqual(solidColor(3, 3, GREEN), ImageUtil.fillImage(solidColor(3, 3, BLACK), GREEN))); assertTrue(bufferedImagesEqual(oneByOne(BLACK_TRANSPARENT), ImageUtil.fillImage(oneByOne(BLACK_TRANSPARENT), WHITE))); }