{
int width = inputImage.getWidth();
int height = inputImage.getHeight();
// Создание пустого изображения для пикселизации
BufferedImage pixelizedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
// Применение алгоритма пикселизации
for (int y = 0; y < height; y += pixelSize) {
for (int x = 0; x < width; x += pixelSize) {
int avgRGB = getAverageRGB(inputImage, x, y, pixelSize, pixelSize);
fillPixels(pixelizedImage, x, y, pixelSize, pixelSize, avgRGB);
}
}
return pixelizedImage;
}
private static int getAverageRGB(BufferedImage image, int x, int y, int width, int height) {
int totalRGB = 0;
for (int yy = y; yy < y + height; yy++) {
for (int xx = x; xx < x + width; xx++) {
totalRGB += image.getRGB(xx, yy);
}
}
return totalRGB / (width * height);
}
private static void fillPixels(BufferedImage image, int x, int y, int width, int height, int rgb) {
for (int yy = y; yy < y + height; yy++) {
for (int xx = x; xx < x + width; xx++) {
image.setRGB(xx, yy, rgb);
}
}
}
Зачем использовать static?
Ну, прост)))) Это я пытаюсь одну штуку скопировать. Поэтому пока так общие методы.
В виде текста в телеге? Имей уважение
А нужно было в пастебине?
Обсуждают сегодня