java生成GIF圖片


簡介

GIF圖形交換格式是一種位圖圖形文件格式,以8位色(即256種顏色)重現真彩色的圖像。它實際上是一種壓縮文檔,采用LZW壓縮算法進行編碼,有效地減少了圖像文件在網絡上傳輸的時間。它是目前廣泛應用於網絡傳輸的圖像格式之一。

優點
  1. 優秀的壓縮算法使其在一定程度上保證圖像質量的同時將體積變得很小。
  2. 可插入多幀,從而實現動畫效果。
  3. 可設置透明色以產生對象浮現於背景之上的效果。
缺點
  1. 由於采用了8位壓縮,最多只能處理256種顏色,故不宜應用於真彩圖像。

代碼實現

測試代碼依賴github上的一個開源實現

import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;
import javax.imageio.ImageIO;

public class Client {

  public static void main(String[] args) throws Exception {
    BufferedImage image1 = ImageIO.read(new File("D:/123.jpg"));
    BufferedImage image2 = ImageIO.read(new File("D:/456.jpg"));
    AnimatedGifEncoder e = new AnimatedGifEncoder();
    //生成的圖片路徑
    e.start(new FileOutputStream("D:/testgif.gif"));
    //圖片之間間隔時間
    e.setDelay(500);   // 1 frame per sec
    //重復次數 0表示無限重復 默認不重復
    e.setRepeat(0);
    //添加圖片
    e.addFrame(image1);
    e.addFrame(image2);
    e.finish();
  }

}

原圖

生成的效果圖

參考

GIF/PNG和JPG的區別(一)
github開源實現


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM