ImageMagick - 将png(s)转换为动画gif,而不是单独的多个重叠图像

时间:2017-10-07 19:12:26

标签: macos animated-gif imagemagick-convert

混淆我做错了什么。我使用了以下命令:

    TreeMap<String, ArrayList<Double>> categoryMap = new TreeMap<>();

    Double val = 0.0;
    String inputKey = "";

    System.out.println("Welcome, please enter text");
    Scanner scn = new Scanner(System.in);
    dataSource = scn;

    try
    {
        // adds all words of input to a string array
        while (dataSource.hasNextLine())
        {
            ArrayList<Double> valueMap = new ArrayList<>();
            inputKey = dataSource.next();

            val = dataSource.nextDouble();
            valueMap.add(val);

            if (categoryMap.get(inputKey) == null)
            {
                categoryMap.put(inputKey, valueMap);
            }
            else
            {
                categoryMap.put(inputKey, valueMap);
            }

            dataSource.nextLine();
        }
    }
    // Exception if no lines detected and shows message
    catch (IllegalArgumentException lineExcpt)
    {
        System.out.println("No lines have been input: " + lineExcpt.getMessage());
    }
    finally
    {
        scn.close();
    }

    return categoryMap;

输出GIF图像,但在观看时,图像彼此重叠,这是我不想要的。应该看起来像一幅动人的画面。

1 个答案:

答案 0 :(得分:1)

在Imagemagick中,您不使用逗号。所以删除它们。在输出gif之前放入-loop 0并在读取png后添加+ repage以删除任何虚拟画布。

convert -delay 10 dog_cursor_24_1.png dog_cursor_24_2.png dog_cursor_24_3.png dog_cursor_24_4.png dog_cursor_24_5.png +repage -loop 0 test.gif

如果不起作用,请发布动画。它可能需要一个不同的-dispose方法。