What software can I use to convert images to other formats?

Solution 1:

ImageMagick

If you want the command-line option, go with ImageMagick

Install with sudo apt-get install imagemagick

Usage

Most operations will use the convert command. To convert an image into another format, you essentially rename your image with the desired file extension.

convert image1.png image1.jpg

To resize images, use the -resize option.

convert image1.png -resize 200×100 image1.png

Note that when using -resize, ImageMagick will preserve the image's aspect ratio and fit it into an image with the specified dimensions. To force an image to a particular size, append an ! to the dimensions.

convert image1.png -resize 200×100! image1.png

Rotate images with the -rotate option, using degrees. The following command would rotate an image 90 degrees.

convert image1.jpg -rotate 90 image1-rotated.jpg

Since this is a command-line tool, you can take advantage of Bash and perform bulk operations. The following command would take all PNG files in the current directory, rotate them, and save a new copy of each with “-rotated” added to the beginning of each file name.

for file in *.png; do convert $file -rotate 90 rotated-$file; done

During any given operation, if the name of your output image is the same as the input image, the operation will overwrite the original image. Otherwise a new image will be created.

You can find more complete documentation here on the ImageMagick website.

Limitations

  • Convert an entire PDF file to a bunch images
  • Extract an image from a Windows .ico file

I am unsure if these operations are possible.

  • Convert images to DPX, EXR, GIF, JPEG, JPEG-2000, PDF, PhotoCD, PNG, Postscript, SVG, TIFF, and other formats

I am unsure if all those file formats are supported by ImageMagick

Answer source

Solution 2:

Converseen is just the app for you! Install it with:

sudo apt-get install converseen

This does exactly what you have asked for and more! It supports all the formats you have requested for, and due thanks to the Magick++ image libraries it supports over 100 image formats!

Description:

Batch image converter and resizer
You can convert an unlimited number of images and / or create thumbnails
to any of the most popular formats: DPX, EXR, GIF, JPEG, JPEG-2000, PDF,
PhotoCD, PNG, Postscript, SVG, and TIFF.
Thanks to the Magick++ image libraries it supports more than 100 image formats.

Screenshots:

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

Solution 3:

As a complement to this answer on imagemagik:

That can be added to the context menu of the file manager within a desktop file (menu service, action, contract file, etc).

To run a convert command on a selected file and keep the name of the file without adding the input extension into the output name

program "$0" "${0%%.*}".extension' %f

Example:

convert "$0" "${0%%.*}".png' %f

Within a Nautilus/PCManFM action:

Exec=bash -c 'convert "$0" "${0%%.*}".png' %f

Creating that with Nautilus configuration tool, the file is :

[Desktop Entry]
Type=Action
ToolbarLabel[en_US]=Convert to png
ToolbarLabel[en]=Convert to png
ToolbarLabel[C]=Convert to png
Name[en_US]=Convert to png
Name[en]=Convert to png
Name[C]=Convert to png
Profiles=profile-zero;

[X-Action-Profile profile-zero]
Basenames=!image/png;image/*;*;
Exec=bash -c  'convert "$0" "${0%%.*}".png' %f
Name[en_US]=Default profile
Name[en]=Default profile
Name[C]=Default profile