downsize
Reduces an image to a specified file size in bytes.
Installation
$ go get -u github.com/lelenanam/downsize/...
Usage
You can specify the size in bytes and the format for the output file. For jpeg
format, you can specify the quality.
Usage of downsize:
downsize [-s=size] [-f=format] [-q=jpeg quality] [-i=infile] [-o=outfile]
-f string
format: jpeg, png or gif, by default the format of an image is determined during decoding
-i string
input file name, required
-o string
output file name, required
-q int
desired output jpeg quality, ranges from 1 to 100 inclusive, higher is better (default 80)
-s int
desired output file size in bytes (default 204800)
Example
Resize the file image.jpg
to size 1 MB
and save the result in jpeg
format file resized.jpg
.
$ downsize -s=1048576 -f=jpeg image.jpg resized.jpg
Sample 1
The original image 2.4 MB
:
Downsize to 1 MB
, auto determine format for result image:
$ downsize -s=1048576 flower.jpg flower1mb.jpg
Resized result:
Downsize to 200 KB
, jpeg
format for result image:
$ downsize -s=204800 -f=jpeg flower.jpg flower200kb.jpg
Resized result:
Downsize to 200 KB
, png
format for result image:
$ downsize -s=204800 -f=png flower.jpg flower200kb.png
Resized result:
Sample 2
The original image 3.4 MB
:
Downsize to 200 KB
, auto determine format for result image, default quality:
$ downsize -s=204800 leaves.jpg leaves200kb.jpg
Resized result:
Downsize to 200 KB
, auto determine format for result image, quality 50
:
$ downsize -s=204800 -q=50 leaves.jpg leaves200kbQ50.jpg
Resized result:
Downsize to 100 KB
, auto determine format for result image:
$ downsize -s=102400 leaves.jpg leaves100kb.jpg
Resized result: