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;
}

Respuestas a la pregunta(1)

Su respuesta a la pregunta