2016-05-16 2 views
0

Я ищу решение наиболее распространенной проблемы изменения размера изображения. У меня есть веб-приложение Java, где пользователь загружает изображение с высоким качеством примерно 2 МБ, и к этому обращению обращаются от нескольких клиентов, начиная от мобильного приложения, мобильного сайта и веб-приложения (например: любое приложение электронной коммерции имеет миниатюру, небольшие размеры, большой размер то же изображение). Это изображение должно быть изменено при загрузке и будет храниться на сервере.Изменение размера изображений на сервере для различных устройств

Я хочу изменить размер загруженного изображения на несколько изображений меньшего размера для клиентов, упомянутых выше. Есть ли открытая или коммерческая библиотека, которая может автоматически изменять размер изображений.

Просто интересно, как эти приложения электронной коммерции могли бы это сделать?

ответ

1

Для этого существует множество инфраструктур обработки изображений Java.

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

MarvinImage image = new MarvinImage(uploadedImage); 
String fileName = "myfilename.jpg"; 
MarvinImage scaled = new MarvinImage(1,1) 

scale(image, scaled, 1000); // width == 1000 
MarvinImageIO.saveImage(scaled, new File(URI.create("file:///server_storage/"+FilenameUtils.removeExtension(fileName)+"_w1000.jpg")).getAbsolutePath()); 
scale(image, scaled, 500); // width == 500 
MarvinImageIO.saveImage(scaled, new File(URI.create("file:///server_storage/"+FilenameUtils.removeExtension(fileName)+"_w500.jpg")).getAbsolutePath()); 
scale(image, scaled, 250); // width = 250 
MarvinImageIO.saveImage(scaled, new File(URI.create("file:///server_storage/"+FilenameUtils.removeExtension(fileName)+"_w250.jpg")).getAbsolutePath()); 
Смежные вопросы