Search code examples
imagemagickjpegbatch-processingeps

Batch converting .eps to .jpg in imagemagick and making .mkv


I am trying to convert multiple .eps files into .jpg ones. By looking at answers here in SO, I was able to do it for single separate files.

The problem is that, when I'm trying to do it for all the files, they don't show any .jpg file.

I am currently using Imagemagick with the command

convert -density 300 outputs-000.eps -flatten outputs-000.jpg

I believe the problem is because my files are written as

outputs-000.eps
outputs-001.eps
outputs-002.eps
outputs-003.eps
...
outputs-145.eps
...

and so on. I tried putting %d (as in outputs-%d.eps and outputs-%d.jpg), but with no success.

Apart from that, I intent to get all those files and "convert" them into an .mkv or .gif or similar type (they are images of the time configuration of a particle collision system, so each image is a frame, so the goal is to make it into a 10sec movie). If there is a way to do that directly from the .eps, even better. Any help is welcome, since I've been trying to do this for several hours now. Thank you.


Solution

  • You should be able to make an animated GIF in one go like this:

    convert -density 300 outputs-*eps -delay 200 animated.gif
    

    Failing that, you should be able to convert all your eps files to, say PNG with:

    mogrify -density 300 -format png outputs-*eps
    

    Be careful with mogrify - it overwrites your input files unless you specify -path for an output directory, or you change format - like I just did to PNG.