BufferedImage rectángulo de relleno con píxeles transparentes
Tengo una imagen almacenada y estoy tratando de llenar un rectángulo con píxeles transparentes. El problema es que, en lugar de reemplazar los píxeles originales, los píxeles transparentes simplemente van arriba y no hacen nada. ¿Cómo puedo deshacerme del píxel original por completo? El código funciona bien para cualquier otro color opaco.
public static BufferedImage[] slice(BufferedImage img, int slices) {
BufferedImage[] ret = new BufferedImage[slices];
for (int i = 0; i < slices; i++) {
ret[i] = copyImage(img);
Graphics2D g2d = ret[i].createGraphics();
g2d.setColor(new Color(255, 255, 255, 0));
for(int j = i; j < img.getHeight(); j += slices)
g2d.fill(new Rectangle(0, j, img.getWidth(), slices - 1));
g2d.dispose();
}
return ret;
}
public static BufferedImage copyImage(BufferedImage source){
BufferedImage b = new BufferedImage(source.getWidth(), source.getHeight(), BufferedImage.TYPE_INT_ARGB);
Graphics g = b.getGraphics();
g.drawImage(source, 0, 0, null);
g.dispose();
return b;
}