Java-AffineTransform API: масштабировать изображение до 300 * 100 пикселей с? - PullRequest
1 голос
/ 31 марта 2011

Я знаю, как сделать простое масштабирование, но как я могу масштабировать изображение максимум до 300 * 100 пикселей? Я искал класс API AffineTransform, но не смог найти метод для этого.

спасибо заранее

Ответы [ 2 ]

1 голос
/ 31 марта 2011

Я думаю, вам нужно «вернуться» к вашему масштабному коэффициенту, определив, какой масштаб увеличит ваш рост до 300 пикселей и вашу ширину до 100.Это не будет масштабироваться равномерно.Для этого вам нужно использовать одинаковую шкалу для х и у.Поэтому, если вы пытаетесь убедиться, что ваше изображение помещается на экране / дисплее / странице, вы выбрали бы самый широкий масштаб измерения.так что используйте приведенный выше пример ...

double xScale = 100/image.getWidth();
double yScale = 300/image.getHeight();
double theScale = xScale > yScale ? xScale : yScale;

AffineTransform transform = new AffineTransform();
transform.setToScale( theScale , theScale );
//paint code goes here

Это всего лишь предложение, надеюсь, оно поможет.

1 голос
/ 31 марта 2011

Рассчитайте коэффициенты для преобразования на основе ширины / высоты изображения относительно ширины / высоты цели.

Напишите некоторый код и, если вы столкнулись с проблемой, задайте конкретный вопрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...