Tento rychlý tutoriál poskytuje podrobnosti o tom, jak vytvořit animovaný GIF v Javě přidáním různých typů obrázků jako PNG, JPEG atd. z disku. Při použití Java GIF je proces vytváření jednoduchý a snadno se učí poskytnutím podrobností o konfiguraci, toku programu a podrobného popisu. Můžete přidat libovolný počet obrázků a můžete použít různé filtry také podle požadavků aplikace.
Kroky k vytvoření animovaného GIF v Javě
- Vytvořte prostředí projektu pro použití Aspose.Imaging for Java z úložiště Maven
- Připravte seznam obrazových souborů z požadovaného adresáře
- Inicializujte seznam objektů třídy RasterImage
- Projděte všechny seznamy obrazových souborů a načtěte je všechny do seznamu RasterImage
- Vytvořte objekt GIFImage pomocí prvního rastrového obrázku v seznamu
- Iterujte zbytek obrázků v seznamu a přidejte je všechny do existujícího objektu GIFImage
- Po přidání všech obrázků uložte výstupní obrázek GIF na disk
Tyto kroky popisují, jak pomocí Java vytvořit animovaný GIF sdílením přístupu krok za krokem. Nejprve musíte načíst všechny obrázky z cílového adresáře do seznamu objektů RasterImage. V dalším kroku vytvořte obrázek GIF pomocí prvního rastrového obrázku v seznamu a poté přidejte všechny zbývající obrázky načtené z disku k tomuto nově vytvořenému obrázku GIF, než jej uložíte na disk.
Kód pro vytvoření animovaného GIF v Javě
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"); | |
} | |
} |
Tyto řádky kódu v Java vytvářejí GIF načtením všech obrázků do objektů třídy RasterImage a poskytují ovládání pro přizpůsobení načtených obrázků, jako je úprava jasu, kontrastu, Gamma, oříznutí části obrázku, filtrování segmentů obdélníkové oblasti, normalizace. úhly a otáčení obrázku, abychom jmenovali jen několik, před přidáním do obrázku GIF. Podobně před uložením výstupního GIFImage můžete změnit jeho velikost, otočit celý GIF, převrátit jej, nastavit barvu pozadí, nastavit dobu snímku v milisekundách, nastavit počet smyček, nastavit průhlednou barvu a mnoho dalších.
Tento tutoriál nás naučil vytvářet obrázek GIF v Javě. Pokud se chcete naučit různé typy převodů, jako je převod bitmapy na PNG, přečtěte si článek na jak převést bitmapu na PNG v Javě.