Як створити анімований GIF на Java

У цьому короткому посібнику описано, як створити анімований GIF у Java шляхом додавання різних типів зображень, таких як PNG, JPEG тощо, із диска. При використанні Java GIF процес створення спрощений і легкий для вивчення завдяки наданню деталей конфігурації, процесу виконання програми та детального опису. Ви можете додати скільки завгодно зображень і застосувати різні фільтри відповідно до вимог програми.

Кроки для створення анімованого GIF на Java

  1. Створіть середовище проекту для використання Aspose.Imaging for Java зі сховища Maven
  2. Підготуйте список файлів зображень із потрібного каталогу
  3. Ініціалізувати список об’єктів класу RasterImage
  4. Перегляньте весь список файлів зображень і завантажте їх у список RasterImage
  5. Створіть об’єкт GIFImage, використовуючи перше растрове зображення у списку
  6. Перегляньте решту зображень у списку та додайте їх усі до наявного об’єкта GIFImage
  7. Збережіть вихідне GIF-зображення на диску після додавання всіх зображень

У цих кроках описано, як за допомогою Java створити анімований GIF за допомогою покрокового підходу. По-перше, вам потрібно завантажити всі зображення з цільового каталогу в список об’єктів RasterImage. На наступному кроці створіть GIF-зображення, використовуючи перше растрове зображення у списку, а потім додайте всі інші зображення, завантажені з диска, до цього щойно створеного GIF-зображення перед збереженням на диску.

Код для створення анімованого GIF на Java

import java.io.File;
import java.io.FilenameFilter;
import com.aspose.imaging.Image;
import com.aspose.imaging.RasterImage;
import com.aspose.imaging.fileformats.gif.GifImage;
import com.aspose.imaging.fileformats.gif.blocks.GifFrameBlock;
import com.aspose.imaging.system.collections.Generic.List;
import com.aspose.imaging.License;
public class CreateAnimatedGifInJava {
public static void main(String[] args) // Main function to create animated GIF
{
// Create and initialize license to avoid trail version limitations
// while creating animated GIF from images
License licCreateAnimatedGif = new License();
licCreateAnimatedGif.setLicense("Aspose.Imaging.lic");
// Get list of all the images of type JPEG and PNG from the target library
File dir = new File("/Users/TestProject/Images");
File[] files = dir.listFiles(new FilenameFilter()
{
public boolean accept(File dir, String name)
{
return (name.toLowerCase().endsWith(".jpg") || name.toLowerCase().endsWith(".png"));
}
});
// Create an empty list of RasterImages
List<RasterImage> mylist = new List<RasterImage>();
// Iterate through all the image files and load them into RasterImage class
// Add each raster image in the list of Rester images declared above
for (File file : files)
{
if (file.isFile())
{
System.out.println(file.getPath());
RasterImage image1 = (RasterImage)Image.load(file.getPath());
mylist.add(image1);
}
}
// Create a GIF image using the first Raster image in the list
GifImage gifImage = new GifImage(new GifFrameBlock(mylist.get(0)));
// Iterate through all the remaining images and add them to the
// newly created GIF image
for(RasterImage img:mylist)
{
try
{
gifImage.addPage(img);
}
catch(Exception ex)
{
System.out.println(ex.getMessage());
}
}
// Save the output GIF file on the disk
gifImage.save("output.gif");
System.out.println("Done");
}
}

Ці рядки коду в Java створюють GIF шляхом завантаження всіх зображень в об’єкти класу RasterImage і забезпечують керування для налаштування завантажених зображень, як-от регулювання яскравості, контрастності, гами, обрізання частини зображення, фільтрація сегментів прямокутної області, нормалізація перед додаванням до зображення GIF. Подібним чином, перед збереженням вихідного зображення GIFI ви можете змінити його розмір, повернути весь GIF, перевернути його, встановити колір фону, встановити час кадру в мілісекундах, встановити кількість циклів, встановити прозорий колір і багато іншого.

Цей підручник навчив нас створювати GIF-зображення на Java. Якщо вам цікаво дізнатися про різні типи перетворень, як-от перетворення растрового зображення на PNG, зверніться до статті як конвертувати Bitmap у PNG у Java.

 Українська