Подтвердить что ты не робот

Как создать анимированный gif в Java?

Я хотел бы создать gif-образ из набора BufferedImages. Как я могу это сделать? Есть ли такая библиотека в чистой Java (ImageMagick не вариант)? Я нашел библиотеку Gif4J, но не без рояльности.

4b9b3361

Ответ 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();