Я хотел бы создать gif-образ из набора BufferedImages. Как я могу это сделать? Есть ли такая библиотека в чистой Java (ImageMagick не вариант)? Я нашел библиотеку Gif4J, но не без рояльности.
Как создать анимированный gif в Java?
Ответ 1
Я просто отвечаю на аналогичный вопрос здесь, но я думаю, что мое решение может помочь.
'ImageIcon' класс позволяет загружать анимацию gif. Я загружаю изображение с помощью 'getResource()'. Для этого я обычно использую класс URL для передачи пути к файлу. Путь не обязательно нужен на удаленной машине, поскольку может указывать URL-адрес имени.
URL url = This.class.getResource(path);
Icon myImgIcon = new ImageIcon(url);
JLabel imageLbl = new JLabel(myImgIcon);
component.add(imageLbl, BorderLayout.CENTER);
путь - это путь к gif внутри папки класса.
Литература: http://docs.oracle.com/javase/tutorial/uiswing/components/icon.html#getresource
Ответ 2
Существует библиотека обработки изображений, сродни Picasso, которая использует тот же класс AnimatedGifEncoder, который упоминается Lifelogger- Glide Docs, Glide
AnimatedGifEncoder e = new AnimatedGifEncoder();
e.start(outputFileName);
e.setDelay(1000); // 1 frame per sec
e.addFrame(image1);
e.addFrame(image2);
e.finish();