2011-12-18 16 views

答えて

4

GIFanimの方法はここにあります。おそらくそれはあなたにスタートを与えるでしょう。これはカラーパレットを圧縮し、他の最適化を行うライブラリを用いて行うことができるよりも著しく大きい画像を生成する非常に単純な実装であること

public byte[] createImage() throws Exception { 

    ImageWriter iw = ImageIO.getImageWritersByFormatName("gif").next(); 

    ByteArrayOutputStream os = new ByteArrayOutputStream(); 
    ImageOutputStream ios = ImageIO.createImageOutputStream(os); 
    iw.setOutput(ios); 
    iw.prepareWriteSequence(null); 
    int i = 0; 

    for (AnimationFrame animationFrame : frameCollection) { 

     BufferedImage src = animationFrame.getImage(); 
     ImageWriteParam iwp = iw.getDefaultWriteParam(); 
     IIOMetadata metadata = iw.getDefaultImageMetadata(
      new ImageTypeSpecifier(src), iwp); 

     configure(metadata, "" + animationFrame.getDelay(), i); 

     IIOImage ii = new IIOImage(src, null, metadata); 
     iw.writeToSequence(ii, null); 
     i++; 
    } 

    iw.endWriteSequence(); 
    ios.close(); 
    return os.toByteArray(); 
} 

注意。このようなライブラリを実装することは重要な作業です。

+0

これは、コードライブラリではなくエンドユーザーアプリケーションであったWebサイトで、これを取得したライブラリが見つかりませんでした。これはコードベースのコピーを持っていますか? – neilf

+0

@neilfあなたはそれを終えましたか? –

関連する問題