画像を縮小するスクリプトといくつかの便利な機能

すべての人に良い一日を!

ちょっとした紹介。 私は長い間、この小さなプログラムを書くことを夢見ていました...私はそれが非常に難しいと思ったので、私は長い間それを受け入れませんでした:)しかし、結局、すべてが非常にシンプルで速いことが判明しました!

時々、たくさんの写真でサイトを更新します。 彼らが同じサイズに調整する必要がある完全に異なる解像度の写真の束を私にもたらすとき-私は恐ろしい...しかしどういうわけか他-私は絞る必要があります。

その結果、このスクリプトが生まれました。

また、品質ではなく主要なアイデアだけが重要な「プロフェッショナル」写真をたくさん蓄積していれば、それを使用しても害はありません。



機能:

1)指定したマスクに従って、フォルダー内のファイルまたはすべての画像のサイズを変更します

2)画像の最適化

3)アクセス可能な形式への変換(jpg、gif、bmp、png ...、一般に、多くの形式があります)



スクリプトには、インストール済みのimagemagickパッケージが必要です

私はそれを持っていました(おそらくLinuxMintがあるからです)。 Ubuntuでは、私もそう願っています。



いくつかの不快なプロパティがあります。

1)名前にスペースが含まれるファイルでは、誤解が生じるため、名前を変更することをお勧めします。

2)非常に大文字と小文字が区別されます(世界のあらゆるもの* nixなど)。したがって、jpegとJPEGは異なるものであることを忘れないでください。

3)非常に友好的な人に見えるかもしれませんが、すべてが彼の要求通りに行われれば、すべてがうまくいきます



さて、ここで、実際には、コード自体:

#!/bin/bash

function Resize {

echo "Enter name of file (with directory) (Ex: /home/user/Desktop/picture.jpg)"

echo "or enter mask to resize all pictures in folder (Ex: /home/user/*.jpg)"

read nfile

echo "Enter size or percent (50% or 640x480 or only x-size)" # . , , " ":)

read size

mogrify -resize $size $nfile

echo "Done"

read Keypress

}

function Convert { # , ,

echo "Enter name of file (with directory) (Ex: /home/user/Desktop/picture.jpg)"

echo "or enter mask to convert all pictures in folder (Ex: /home/user/*.jpg)"

read nfile

echo "Enter type (just png or jpg without mask)"

read typep

mogrify -format $typep $nfile

echo "Done"

read Keypress

}



function Optim {

echo "Enter name of file (with directory) (Ex: /home/user/Desktop/picture.jpg)"

echo "or enter mask to optimize all pictures in folder (Ex: /home/user/*.jpg)"

read nfile

echo "Enter name of folder to save pictures " # , ( , , 2 ....)

read nfold

mkdir $nfold

convert $nfile -type optimize $nfold/pic.jpg # pic_0.jpg pic, img , _i

echo "Done!"

read Keypress



}

#

while [ $var=true ]; do

echo

echo "---------MENU---------"

select var in "Resize" "Optimize" "Convert" "Exit"; do

break

done

echo "$var"

case $var in

"Resize") Resize;;

"Optimize") Optim;;

"Convert") Convert;;

"Exit") exit ;;

esac

done








初めてスクリプトを書いたので、あまり誓わないでください!)



All Articles