APNGファイルからすべてのpngファイルを抽出しようとしています。私は助けを探しましたが、あまりありません。私が見つけることができるのは、オープン ソース ライブラリ pngj だけであり、それを使用して APNG ファイルの最初のフレームを取得できます。
これが私が使用しているコードです
public static void mirror(File orig, File dest, boolean overwrite)
         {
    PngReader pngr = FileHelper.createPngReader(orig);
    PngWriter pngw = FileHelper.createPngWriter(dest, pngr.imgInfo,
            overwrite);
    pngw.setFilterType(FilterType.FILTER_CYCLIC); // just to test all
                                                    // filters
    int copyPolicy = ChunkCopyBehaviour.COPY_ALL;
    pngw.copyChunksFirst(pngr, copyPolicy);
    ImageLine lout = new ImageLine(pngw.imgInfo);
    int cols = pngr.imgInfo.cols;
    int channels = pngr.imgInfo.channels;
    int[] line = new int[cols * channels];
    int aux;
    for (int row = 0; row < pngr.imgInfo.rows; row++) {
        ImageLine l1 = pngr.readRow(row);
        line = l1.unpack(line, false);
        for (int c1 = 0, c2 = cols - 1; c1 < c2; c1++, c2--) {
            for (int i = 0; i < channels; i++) {
                aux = line[c1 * channels + i];
                line[c1 * channels + i] = line[c2 * channels + i];
                line[c2 * channels + i] = aux;
            }
        }
        lout.pack(line, false);
        pngw.writeRow(lout, row);
    }
    pngr.end();
    pngw.copyChunksLast(pngr, copyPolicy);
    pngw.end();
    // // print unknown chunks, just for information
    List<PngChunk> u = ChunkHelper.filterList(pngr.getChunksList()
            .getChunks(), new ChunkPredicate() {
        public boolean match(PngChunk c) {
            return ChunkHelper.isUnknown(c);
        }
    });
    if (!u.isEmpty())
        System.out.println("Unknown chunks:" + u);
}
基本的に、apngファイルをミラーリングしているだけで、最初のフレームであるpngファイルに変換されます。残りのフレームを取得してpngファイルとして保存する方法を教えてもらえますか?どんなヘルプやヒントも適用されます