Если вы разделите задачу «создать эскиз» на три этапа: «загрузить изображение», «масштабировать изображение» и «сохранить изображение», вы сможете сделать это с помощью стандартного Java API. Вы можете использовать статические служебные методы в javax.imageio.ImageIO
для загрузки и сохранения изображений и использовать Image # getScaledInstance (...)
для изменения размера исходного изображения. Поскольку изображение
, которое вы получаете из getScaledInstance
, не является BufferedImage
, вам необходимо создать новое BufferedImage
правильного размера и закрасить масштабированное изображение в новый BufferedImage
, прежде чем вы сможете использовать ImageIO для его сохранения.
Существует jmagick , Java-реализация популярного фреймворка ImageMagick. .
Я проверил его сайт, и там нет упоминания о лицензии. Это может означать проблемы. По крайней мере, в Италии, где я живу, потому что если нет явного разрешения, вы не можете использовать чужие работы.
Я бы посоветовал прочитать этот вопрос: Библиотека Java с открытым исходным кодом для создания миниатюр веб-страниц на стороне сервера