Sunday, August 31, 2008

Resize Gambar Secara Pukal menggunakan script

Ini mungkin entry yang agak berbeza dengan yang lain kerana entry ini dihantar ke email saya oleh sdr Mustakim Ahmad. Kelainan kedua bagi entry ini anda akan dapati dalam kandungannya.

Katakan anda ingin resize semua image berformat "jpeg" dalam folder "gambar_konvo". Anda mungkin boleh menggunakan Phatch, namun hari ini entry ini akan menunjukkan cara menggunakan script untuk melakukan tugasan tersebut. Caranya;

1. Install imagemagick (mungkin sudah terinstall)
sudo apt-get install imagemagick
2. Cipta satu script. Buka terminal kemudian taipkan;
gedit batch.sh
copy dan paste code dibawah ini kedalam gedit yang terbuka,
#! /bin/sh

# Dialog box to choose thumb's size
SIZE=`zenity --list --title="Choose the thumbnail's size" --radiolist --column="Check" --column="Size" "" "320x240" "" "640x480" "" "800x600" "" "1024x768"`

if [ "${SIZE}" == "" ]; then
zenity --error --text="Size not defined by user.
Please choose a size to use. "
exit 1
fi

# How many files to make the progress bar
PROGRESS=0
NUMBER_OF_FILES=`find -iname "*.jpg" -maxdepth 1 | wc -l`
let "INCREMENT=100/$NUMBER_OF_FILES"

mkdir -p thumbnails

# Creating thumbnails. Specific work on picture should be add there as convert's option
(for i in *.jpg *.JPG; do
echo "$PROGRESS";
echo "# Resizing $i";
convert -resize "${SIZE}" -bordercolor black -border 10x10 -quality 50 "${i}" thumbnails/"${i}"
let "PROGRESS+=$INCREMENT"
done
) | zenity --progress --title "$Creating thumbnails..." --percentage=0
save!

3. Copy fail batch.sh yang terdapat dalam home folder kedalam folder yang sasaran (folder yang mengandungi fail jpeg yang ingin di resize.

4.Masuk kedalam folder sasaran tadi menggunakan terminal
cd ~/gambar_convo
5. Larikan(run) script tadi menggunakan command dibawah;
sh batch.sh
6.Hasilnya, semua gambar berformat jpeg dalam folder tadi akan ditukar kepada saiz yang ditentukan dan disave kedalam folder thumbnails dalam folder sasaran tadi. Original fail tidak berubah!

Entry ini sebenarnya memberi inspirasi kepada anda untuk memahami dan menerokai apalagi yang boleh dilakukan dengan script diatas atau script yang bakal anda tulis sendiri. Contohnya, anda boleh edit script diatas supaya ia menyokong format imej PNG, GIF dan sebagainya. Atau, anda ingin jadikan ia berkongsep GUI? Anda tentukan!

2 comments:

  1. penggunaan skrip mungkin nampak canggih pd pengguna 'geek'. Aku sndr tak suka menggunakan skrip psl letih menaip dan arahan yg sukar dihafal.

    Aku lebih suka guna gThumb utk kecil atau 'resize' gambar.

    ReplyDelete
  2. @pujangga : haha..2 la...yg kt atas ni atas tujuan pembelajaran jer..heheh

    ReplyDelete

Terima kasih atas respon..

Quartz OS: Material Design + Linux = Awesome

Konsep Material Design pertama kali diperkenalkan oleh Google untuk Android 5.0 Lollipop. Nampaknya, ada developer yang berminat untuk ...