Created
August 20, 2017 19:54
-
-
Save fuzzywalrus/2cd69866afb25954e41d53b3d319dafd to your computer and use it in GitHub Desktop.
Simple image conversion script design create from a double density asset both @2x and @1x versions of said image in JPEG, JPEG2000, WebP for HTML5 picture elements.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# simple image conversion script design create from a double density asset both @2x and @1x versions of said image in JPEG, JPEG2000, WebP for HTML5 picture elements. | |
# Requires Zenity, ImageMagick with JPEG2000, MozJPEG, and Webp | |
# brew install imagemagick --with-openjpeg | |
# brew install webp | |
# brew install mozjpeg | |
# brew install zenity | |
file=$(zenity --file-selection --title="Select a File") | |
datafill=`zenity --forms \ | |
--title="Example" \ | |
--add-entry="Select WebP Quality" \ | |
--add-entry="Select JPEG2000 Quality" \ | |
--add-entry="Select JPEG Quality" \ | |
--separator="|"` | |
echo $datafill | |
arrIN=(${datafill//|/ }) | |
JPEG2000quality=${arrIN[0]} | |
WebPquality=${arrIN[1]} | |
JPEGquality=${arrIN[2]} | |
echo $file | |
# vars for use later | |
webpExt=".webp" | |
jp2Ext=".jp2" | |
jpgExt=".jpg" | |
ppmExt=".ppm" | |
pngExt=".png" | |
twoX="@2x" | |
oneX="@1x" | |
# make half size PNG path name, create a 1x PNG. | |
halfsizeFile="${file%.*}"$oneX$pngExt | |
echo $halfsizeFile | |
convert $file -resize 50% $halfsizeFile | |
# webp | |
convert $file -quality $WebPquality "${file%.*}"$twoX$webpExt | |
convert $halfsizeFile -quality $WebPquality "${file%.png}"$oneX$webpExt | |
# jpeg2000 | |
convert $file -quality $JPEG2000quality "${file%.*}"$twoX$jp2Ext | |
convert $halfsizeFile -quality $JPEG2000quality "${file%.*}"$oneX$jp2Ext | |
# ppm temp for MozJPEG | |
ppm2x="${file%.*}"$twoX$ppmExt | |
convert $file $ppm2x | |
ppm1x="${file%.*}"$oneX$ppmExt | |
convert $halfsizeFile $ppm1x | |
# jpeg (MozJPEG) | |
cjpeg -quality $JPEGquality $ppm2x > ${ppm2x%.ppm}$twoX$jpgExt | |
cjpeg -quality $JPEGquality $ppm1x > ${ppm1x%.ppm}$oneX$jpgExt | |
# remove temp ppm | |
rm $ppm2x | |
rm $ppm1x |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment