Last active
August 29, 2015 13:56
-
-
Save goromlagche/8863780 to your computer and use it in GitHub Desktop.
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
IFS=' | |
' | |
if [[ $# -eq 0 ]] ; then | |
echo -e '\n\e[32mUsage: compress.sh {-t/--thumbnail|-h/--home|-g169/--generic169|-a/--art|-o43/--other43|-m/--mapImages|-c/--custom}\e[0m\n' | |
exit 0 | |
fi | |
thumbnailImage() | |
{ | |
for entry in $(find $1 -type f) | |
do | |
convert "$entry" -resize '75x75^' -gravity center -crop 75x75+0+0 +repage "$entry"; | |
jpegoptim --max=70 "$entry"; | |
jpegoptim --strip-all "$entry"; | |
jpegtran -copy none -optimize "$entry"; | |
convert -strip "$entry" "$entry"; | |
jpegtran -copy none -progressive "$entry"; | |
done | |
if [[ -d "$s" ]] ; then | |
echo $s | |
for entry in $(find $s -type f) | |
do | |
convert "$entry" -resize '75x75^' -gravity center -crop 75x75+0+0 +repage "$entry"; | |
jpegoptim --max=70 "$entry"; | |
jpegoptim --strip-all "$entry"; | |
jpegtran -copy none -optimize "$entry"; | |
convert -strip "$entry" "$entry"; | |
jpegtran -copy none -progressive "$entry"; | |
done | |
fi | |
echo '\n\n\n\n\n\e[32m Hit Enter If Stuck \e[0m\n' | |
} | |
homeImage() | |
{ | |
for entry in $(find $1 -type f) | |
do | |
convert "$entry" -resize '1366x' "$entry"; | |
jpegoptim --max=70 "$entry"; | |
jpegoptim --strip-all "$entry"; | |
jpegtran -copy none -optimize "$entry"; | |
convert -strip "$entry" "$entry"; | |
jpegtran -copy none -progressive "$entry"; | |
done | |
echo '\n\n\n\n\n\e[32m Hit Enter If Stuck \e[0m\n' | |
} | |
genericImage169() | |
{ | |
s="$1thumbnail" | |
if [[ -d $s ]] | |
then | |
rm -rf "$s" | |
mkdir -p "$s" | |
else | |
mkdir -p "$s" | |
fi | |
for entry in $(find $1 -type f) | |
do | |
cp "$entry" "$s" | |
w=$(sudo convert "$entry" -format "%w" info:) | |
h=$(sudo convert "$entry" -format "%h" info:) | |
wa=720 | |
ha=405 | |
if [[ $w -lt $wa ]] && [[ $h -lt $ha ]]; then | |
convert "$entry" -background white -gravity center -extent 720x405 "$entry"; | |
jpegoptim --max=70 "$entry"; | |
jpegoptim --strip-all "$entry"; | |
jpegtran -copy none -optimize "$entry"; | |
convert -strip "$entry" "$entry"; | |
jpegtran -copy none -progressive "$entry"; | |
else | |
convert "$entry" -resize "720x405^" -gravity center -crop 720x405+0+0 +repage "$entry"; | |
jpegoptim --max=70 "$entry"; | |
jpegoptim --strip-all "$entry"; | |
jpegtran -copy none -optimize "$entry"; | |
convert -strip "$entry" "$entry"; | |
jpegtran -copy none -progressive "$entry"; | |
fi | |
done | |
thumbnailImage $s | |
echo '\n\n\n\n\n\e[32m Hit Enter If Stuck \e[0m\n' | |
} | |
artImage() | |
{ | |
s="$1thumbnail" | |
if [[ -d $s ]] | |
then | |
rm -rf "$s" | |
mkdir -p "$s" | |
else | |
mkdir -p "$s" | |
fi | |
for entry in $(find $1 -type f) | |
do | |
cp "$entry" "$s" | |
convert "$entry" -resize 720x405\> -background white -gravity center -extent 720x405 -strip "$entry"; | |
jpegoptim --max=70 "$entry"; | |
jpegtran -copy none -optimize "$entry"; | |
jpegtran -copy none -progressive "$entry"; | |
done | |
thumbnailArtImage $s | |
echo '\n\n\n\n\n\e[32m Hit Enter If Stuck \e[0m\n' | |
} | |
thumbnailArtImage(){ | |
for entry in $(find $1 -type f) | |
do | |
echo $entry; | |
convert "$entry" -resize 75x75\> -gravity center -crop 75x75+0+0 +repage -background white -gravity center -extent 75x75 -strip "$entry"; | |
jpegoptim --max=70 "$entry"; | |
jpegtran -copy none -optimize "$entry"; | |
jpegtran -copy none -progressive "$entry"; | |
done | |
if [[ -d "$s" ]] ; then | |
for entry in $(find $s -type f) | |
do | |
convert "$entry" -resize 75x75\> -gravity center -crop 75x75+0+0 +repage -background white -gravity center -extent 75x75 -strip "$entry"; | |
jpegoptim --max=70 "$entry"; | |
jpegtran -copy none -optimize "$entry"; | |
jpegtran -copy none -progressive "$entry"; | |
done | |
fi | |
echo '\n\n\n\n\n\e[32m Hit Enter If Stuck \e[0m\n' | |
} | |
otherImage43() | |
{ | |
for entry in $(find $1 -type f) | |
do | |
w=$(sudo convert "$entry" -format "%w" info:) | |
h=$(sudo convert "$entry" -format "%h" info:) | |
wa=720 | |
ha=405 | |
if [[ $w -lt $wa ]] && [[ $h -lt $ha ]]; then | |
convert "$entry" -background white -gravity center -extent 200x225 "$entry"; | |
jpegoptim --max=70 "$entry"; | |
jpegoptim --strip-all "$entry"; | |
jpegtran -copy none -optimize "$entry"; | |
convert -strip "$entry" "$entry"; | |
jpegtran -copy none -progressive "$entry"; | |
else | |
convert "$entry" -resize '300x225^' -gravity center -crop 300x225+0+0 +repage "$entry"; | |
jpegoptim --max=70 "$entry"; | |
jpegoptim --strip-all "$entry"; | |
jpegtran -copy none -optimize "$entry"; | |
convert -strip "$entry" "$entry"; | |
jpegtran -copy none -progressive "$entry"; | |
fi | |
done | |
echo '\n\n\n\n\n\e[32m Hit Enter If Stuck \e[0m\n' | |
} | |
mapImage() | |
{ | |
for entry in $(find $1 -type f) | |
do | |
w=$(sudo convert "$entry" -format "%w" info:) | |
h=$(sudo convert "$entry" -format "%h" info:) | |
wa=720 | |
ha=405 | |
if [[ $w -lt $wa ]] && [[ $h -lt $ha ]]; then | |
convert "$entry" -background white -gravity center -extent 200x150 "$entry"; | |
jpegoptim --max=70 "$entry"; | |
jpegoptim --strip-all "$entry"; | |
jpegtran -copy none -optimize "$entry"; | |
convert -strip "$entry" "$entry"; | |
jpegtran -copy none -progressive "$entry"; | |
else | |
convert "$entry" -resize '200x150^' -gravity center -crop 200x150+0+0 +repage "$entry"; | |
jpegoptim --max=70 "$entry"; | |
jpegoptim --strip-all "$entry"; | |
jpegtran -copy none -optimize "$entry"; | |
convert -strip "$entry" "$entry"; | |
jpegtran -copy none -progressive "$entry"; | |
fi | |
done | |
echo "\n\n\n\n\n\e[32mHit Enter If Stuck \e[0m\n\n" | |
} | |
customImage() | |
{ | |
for entry in $(find $1 -type f) | |
do | |
convert "$entry" -resize '$3x$4^' -gravity center -crop $5x$6+0+0 +repage "$entry"; | |
jpegoptim --max=$7 "$entry"; | |
jpegoptim --strip-all "$entry"; | |
jpegtran -copy none -optimize "$entry"; | |
convert -strip "$entry" "$entry"; | |
jpegtran -copy none -progressive "$entry"; | |
done | |
echo "\n\n\n\n\n\e[32mHit Enter If Stuck \e[0m\n\n" | |
} | |
while test $# -gt 0; do | |
case "$1" in | |
-t|--thumbnail) | |
if [[ -n $2 ]] ; then | |
thumbnailImage $2 | |
else | |
echo -e "\n\e[31mPlease mention the folder name\e[0m\n" | |
fi | |
exit | |
;; | |
-h|--home) | |
if [[ -n $2 ]] ; then | |
homeImage $2 | |
else | |
echo -e "\n\e[31mPlease mention the folder name\e[0m\n" | |
fi | |
exit | |
;; | |
-g169|--generic169) | |
if [[ -n $2 ]] ; then | |
genericImage169 $2 | |
else | |
echo -e "\n\e[31mPlease mention the folder name\e[0m\n" | |
fi | |
exit | |
;; | |
-a|--art) | |
if [[ -n $2 ]] ; then | |
artImage $2 | |
else | |
echo -e "\n\e[31mPlease mention the folder name\e[0m\n" | |
fi | |
exit | |
;; | |
-o43|--other43) | |
if [[ -n $2 ]] ; then | |
otherImage43 $2 | |
else | |
echo -e "\n\e[31mPlease mention the folder name\e[0m\n" | |
fi | |
exit | |
;; | |
-m|--map) | |
if [[ -n $2 ]] ; then | |
mapImage $2 | |
else | |
echo -e "\n\e[31mPlease mention the folder name\e[0m\n" | |
fi | |
exit | |
;; | |
-c|--custom) | |
if [[ -n $2 ]] ; then | |
customImage $2 $3 $4 $5 $6 $7 | |
else | |
echo -e "\n\e[31mPlease mention the folder name\e[0m\n" | |
echo -e "\n\e[32mfolder-name resize-width resize-height crop-width crop-height compression-percentage \n \n\e[0m" | |
fi | |
shift | |
;; | |
*) | |
echo -e "\n\e[31mPlease select valid option \n\e[0m" | |
break | |
;; | |
esac | |
done |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment