У цьому короткому посібнику описано, як створити анімований GIF у Java шляхом додавання різних типів зображень, таких як PNG, JPEG тощо, із диска. При використанні Java GIF процес створення спрощений і легкий для вивчення завдяки наданню деталей конфігурації, процесу виконання програми та детального опису. Ви можете додати скільки завгодно зображень і застосувати різні фільтри відповідно до вимог програми.
Кроки для створення анімованого GIF на Java
- Створіть середовище проекту для використання Aspose.Imaging for Java зі сховища Maven
- Підготуйте список файлів зображень із потрібного каталогу
- Ініціалізувати список об’єктів класу RasterImage
- Перегляньте весь список файлів зображень і завантажте їх у список RasterImage
- Створіть об’єкт GIFImage, використовуючи перше растрове зображення у списку
- Перегляньте решту зображень у списку та додайте їх усі до наявного об’єкта GIFImage
- Збережіть вихідне 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.