How to decrease image size from commandline
Problem
I'd like to be able to decrease images, particularly jpg and png's, either to a percentage of the original file, or a specified size in bytes.
MWE
decrease --size=900KB -o image_small.png image.png
decrease --size=90% -o image_small.png image.png
Notes
It can be two separate tools, but I want them to support both options,
and ideally, follow proper Unix option dash conventions (--out=file
, -o file
).
For jpg, I found jpegoptim
which allows me to specify a size in either
kilobytes or percentage:
jpegoptim --size=900 --dest=compressed image.jpg
jpegoptim --size=90% --dest=compressed image.jpg
One downside of this though is it does not have a -o
option to create
a new file; it either overwrites the input file, or takes in an output
directory that must exist ahead of time.
1 answer
Here goes nothing. An Internet search shows an answer on AskUbuntu#1164, author aneesheep.
The gist is to install ImageMagick (try package name imagemagick
) and then use the convert
utility:
convert -resize 20% image_small.png image.png
You can write a wrapper script that subscribes to your preferred options.
1 comment thread