Как уменьшить изображение пополам в Java без использования Graphics2D?

#java #image #colors #graphics #resize

#java #изображение #Цвет #графика #изменение размера

Вопрос:

Мне нужно написать программу, которая уменьшает изображение пополам без использования каких-либо библиотек, кроме Java Graphics и Java Color. Ранее я написал одно с Graphics2D, которое выглядело так —

 public static void shrink(String orig, String convert) throws Exception { //Ahh damn we needed one from the red group
                BufferedImage bufferedimg = null;
                File f = new File(orig);
                bufferedimg = ImageIO.read(f);

                int width = bufferedimg.getWidth();
                int height = bufferedimg.getHeight();

                int finalWidth = width/2;
                int finalHeight = height/2;

                BufferedImage resizedImage = new BufferedImage(finalWidth, finalHeight, BufferedImage.TYPE_INT_ARGB);
                Graphics2D g = resizedImage.createGraphics();
                g.drawImage(bufferedimg, 0, 0, finalWidth, finalHeight, null);
                g.dispose();

                f = new File(convert);
                ImageIO.write(resizedImage, "png", f);
        }

 

Кто-нибудь может помочь?

Комментарии:

1. Image.getScaledInstance() изменяет размер изображения, хотя обычно оно не возвращает BufferedImage .

2. возможно, с помощью g.scale(double x, double y) перед вызовом g.drawImage

3. Вы всегда можете получить массив пикселей и реализовать масштабирование самостоятельно. Но почему бы не использовать стандартные библиотеки Java2D? Это школьное задание?