Este tutorial rápido fornece detalhes sobre como criar GIF animado em Java adicionando diferentes tipos de imagens como PNG, JPEG etc. do disco. Ao usar o Java GIF, o processo de criação é simplificado e fácil de aprender, fornecendo detalhes de configuração, fluxo do programa e descrição detalhada. Você pode adicionar quantas imagens forem necessárias e pode aplicar filtros diferentes também de acordo com os requisitos do aplicativo.
Etapas para criar GIF animado em Java
- Estabeleça o ambiente do projeto para usar Aspose.Imaging for Java do repositório Maven
- Prepare a lista de arquivos de imagem do diretório desejado
- Inicialize uma lista de objetos de classe RasterImage
- Iterar através de toda a lista de arquivos de imagem e carregá-los todos na lista de RasterImage
- Crie um objeto GIFImage usando o primeiro RasterImage na lista
- Iterar pelo restante das imagens na lista e adicioná-las ao objeto GIFImage existente
- Salve a imagem GIF de saída no disco depois de adicionar todas as imagens
Estas etapas descrevem como usar Java para criar GIF animado compartilhando uma abordagem passo a passo. Primeiro, você precisa carregar todas as imagens do diretório de destino em uma lista de objetos RasterImage. Na próxima etapa, crie uma imagem GIF usando a primeira imagem raster na lista e adicione todas as outras imagens carregadas do disco a essa imagem GIF recém-criada antes de salvá-la no disco.
Código para criar GIF animado em 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"); | |
} | |
} |
Essas linhas de código em Java criam GIF carregando todas as imagens nos objetos da classe RasterImage e fornecem controle para personalizar as imagens carregadas, como ajustar o brilho, contraste, gama, cortar a parte da imagem, filtrar segmentos de área retangular, normalizar ângulos e girando a imagem para citar alguns antes de adicionar à imagem GIF. Da mesma forma, antes de salvar o GIFImage de saída, você pode redimensioná-lo, girar o GIF inteiro, invertê-lo, definir a cor do plano de fundo, definir o tempo do quadro em milissegundos, definir a contagem de loops, definir a cor transparente e muito mais.
Este tutorial nos ensinou a criar uma imagem GIF em Java. Se você estiver interessado em aprender diferentes tipos de conversão, como converter um bitmap em PNG, consulte o artigo em como converter bitmap para PNG em Java.