2013-12-15 2 views
1

У меня есть галерея изображений, использующая Galleria IO. Когда плагин добавляет образы нескольких размеров, они изменить размер каждого из них, как это:Java Galleria IO thumbnail уменьшить пропорцию формула

Original Size[width-height]  Thumbnail[width-height] 
* 320x210       *122x80 
* 450x600       *60x80 
* 600x525       *91x80 
* 600x885       *54x80 
* 741x694       *85x80 

как вы можете видеть высот всегда 80.

Возникает вопрос: мне нужно перевести эти изображения в отчет на те же изображения в галерее. И мне нужно изменить размер всех изображений, потому что я хотел бы перевести в отчет один и тот же размер эскизов.

Мне было интересно, как узнать отношение ИЛК galleria к изменению размера, как они это достигают? Я хотел бы иметь такое же соотношение при изменении размеров других изображений в базе данных.

Или есть какая-то рутина на Java, чтобы сделать то же самое или так?

ответ

2

Соотношение сторон, рассчитывается просто как width/height. Учитывая одно измерение в размере результата, вы можете рассчитать другое. Если высота всегда равна 80, соотношение сторон варьируется, но ее легко вычислить для каждого изображения.

В качестве примера для 320x210 изображения соотношение сторон составляет:

aspect ratio = w/h = 320/210 = 1.5238.. 

Теперь, учитывая, что высота 80, можно вычислить ширину, как это (мы округляем до ближайшего целого числа):

w = h * aspect ratio = 80 * 1.5238.. = 121.904.. => 122 

Используя ту же формулу, можно также вычислить высоту, учитывая ширину, как:

h = w/aspect ratio = 122/1.5238.. = 80.064.. => 80