Изменение PNG-изображения на другой цвет при каждом запуске - PullRequest
0 голосов
/ 05 апреля 2020

Я делаю скринсейвер и пытаюсь заставить перемещаемое изображение менять цвет каждый раз, когда оно попадает на боковую панель. Сейчас я просто тестирую изменение цвета изображения и не могу получить каждый пиксель одинакового случайного цвета. Я сделал это в диапазоне от 100 до 255, так как фон будет черным, и я хочу, чтобы изображение было достаточно ярким. В заключение я хотел бы, чтобы изображение PNG каждый раз менялось на случайный цвет. Спасибо:)

 public static void main(String args[])  throws Exception{
    BufferedImage img = colorImage(ImageIO.read(new File("logo.png")));
    ImageIO.write(img, "png", new File("Test.png"));
}

    private static BufferedImage colorImage(BufferedImage image){
    int width = image.getWidth();
    int height = image.getHeight();
        WritableRaster raster = image.getRaster();

        for(int i =0; i < width; i++) {
            for (int j = 0; j < height; j++) {
                Random rng = new Random();
                int[] pixels = raster.getPixel(i, j, (int[]) null);
                pixels[0] = rng.nextInt((255-100))+100;
                pixels[1] = rng.nextInt((255-100))+100;
                pixels[2] = rng.nextInt((255-100))+100;
                raster.setPixel(i, j, pixels);
            }
        }
        return image;
    }
...