Хранение преобразованного BufferedImage в Java

В Java вместо использования Photoshop для преобразования моих изображений (которые я использую в программе) я хочу использовать код для преобразования и сохранения их.

Я создал объект AffineTransform "в" и назвал rotate() метод. У меня есть BufferedImage под названием "изображение".

Я могу нарисовать изображение на экране с нужным преобразованием с помощью этого кода:

g2d.drawImage(image, at, null);

Я хочу сохранить комбинацию at и image в новом BufferedImage image2. Как я могу сделать это так, чтобыg2d.drawImage(image2,50,50, null); покажет повернутую версию изображения?

редактировать: я немного подправил ответ Ezequiel, чтобы получить эффект, который я хотел. Это сделало трюк:

BufferedImage image2= null;
AffineTransformOp affineTransformOp = new AffineTransformOp(at,AffineTransformOp.TYPE_BILINEAR);
image2 = affineTransformOp.filter(image, image2);
g2d.drawImage(image2, 50, 50, null);

1 ответ

Решение

С AffineTransformOp учебный класс:

BufferedImage original; //Instatiate with desired image.
BufferedImage transformed:  //Used to store transformed image.
AffineTransform at; //Transformations needed.

AffineTransformOp affineTransformOp = new AffineTransformOp(at, AffineTransformOp.TYPE_BILINEAR);
affineTransformOp.filter(original, transformed );
Другие вопросы по тегам