Contents

Multimédia scriptek III.

Akár az előző scriptet kiegészítendő, akár más esetben, szükség lehet egy bitkép -> jpeg konverterre. Az itt következő image/graphicsmagick alapú script beállítható tömörítéssel és felbontással (dpi) konvertál bármely támogatott formátumot jpeg-be. A felület szintén zenity. Alapesetben rádiólistán választható a minőség, és graphicsmagick-et használ, de a kódban ott a kommentezett sorokban a lehetőség csúszkás beállításra, és imagemagick használatára. A kód: #!/bin/bash #################################################

Script to convert image files to jpg

script does not modify the file which you select, it creates a new file.

It cannot convert a directory but you can select several files.

################################################# version=“0.1”

	###### Default = English #####
	title="any2jpg "$version""
	pleasesel="Please select at least one file."
	noselec=""$title" convert images to jpg. "$pleasesel""
	nobin="Program Imagemagick/Graphicsmagick is not installed, please install !"
	warning="Warning"
	qsel="Quality (%)"
	exportof="jpeg quality setting"
	Resolution="Resolution"
	Working="Working"
	Done="Done!"
case $LANG in
	######## Magyarul #########
	hu* )
	title="any2jpg "$version""
	pleasesel="Kérlek válassz ki legalább 1 fájlt!"
	noselec=""$title" export script bitképekből jpg-be."$pleasesel""
	warning="Figyelem"
	nobin="Az Imagemagick/Graphicsmagick nem található, telepítsd!"
	qsel="Minőség (%)"
	exportof="jpeg minőség beállítása"
	Resolution="Felbontás (dpi)"
	Working="Készül a"
	Done="Az exportálás kész!" ;;
esac

#################################################

PROGRAM

######## Test dependency ######## which convert 2>/dev/null if [ $? != 0 ] then zenity –error –title="$title" –text="$nobin" exit 0 fi

File selection check

if [ $# -eq 0 ]; then zenity –error –title="$warning" –text="$noselec" exit 1 fi

######## quality settings ######## while [ ! “$quality” ] do

quality=zenity --scale --title "$title" --text="$qsel" --min-value="60" --max-value="100" --value="90" --step 1

quality=`zenity --title "$title" --list --radiolist --column="%" --column="$exportof" FALSE "75" FALSE "80" FALSE "85" TRUE  "90" FALSE "92" FALSE "94" FALSE "96" FALSE "100" --text "$qsel"`
if  [ $? != 0 ]; then
	exit 1
fi
[ $? -ne 0 ] && exit 2

done

######## resolution settings ######## while [ ! “$sample” ] do sample=zenity --title="$title" --list --radiolist --column="" --column="$Resolution:" FALSE "90x90" FALSE "120x120" TRUE "300x300" FALSE "600x600" FALSE "1200x1200" if [ $? != 0 ]; then exit 1 fi [ $? -ne 0 ] && exit 2 done

######## Export jpg ######## while [ $# -gt 0 ]; do picture=$1 jpg_file=echo "$picture" | sed 's/\.\w*$/.jpg/'

when use imagemagick, you can uncomment the next line, and comment it another.

/usr/bin/convert -quality “$quality” -set density “$sample” “$picture” -background white -flatten jpeg:"$jpg_file" | zenity –progress –text="$Working $picture" –percentage=0 –auto-close && zenity –info –text="$Done"

/usr/bin/gm convert -quality "$quality" -set density "$sample" "$picture"  -background white -flatten jpeg:"$jpg_file" | zenity --progress --text="$Working $picture" --pulsate --auto-close && zenity --info --text="$Done"
shift

done