Page under construction!
Setup your account
- Sharon's login modification: edit the file .login in your 220a-xx account, and add this line at the end of it:
if ( -f /bin/bash ) exec /bin/bash --login
- edit the file .bash_profile in your 220a-xx account and add the following lines at the end of it:
export SHELL=/bin/bash
unalias rm
unalias cp
unalias mv
- Logout, and log back in. You should automatically be in bash, and the rm, cp, and mv commands should not be aliased (more about this in class).
Creating Images
- This part of the lab uses a very nice and powerful program that is often bundled in the various Linux distribution (Fedora, Ubuntu, Suse, etc): ImageMagick. It is a collection of different programs that allow for very clever and powerful image manipulations.
Part 1
- There are 3 images in the 220a public_html folder, called 220a.jpg, 220b.jpg, and 220c.jpg. You can see them by opening this URL: http://cs.smith.edu/~220a/
- use wget (see Lab 1) to retrieve all three images into your account. Use a for-loop! Something like this is a good start:
for i in a b c ; do
echo $i
echo 220${i}
done
- verify that you got the images by displaying them with the display command (also part of imagemagick). Example:
display 220a.jpg
- Can you tell what these three pictures have in common?
- Overlay the 220 road sign image on top of the car:
composite -geometry +10+10 220a.jpg 220c.jpg 220ac.jpg
- Display 220ac.jpg to see the result. The +10+10 part of the command specify that the top-left corner of the first image (road sign) should be 10 pixels left and 10 pixels down from the second image (car). The result is a new file called 220ac.jpg.
- Using the same approach overlay image 220b.jpg on 220ac.jpg, and offset it by 850 pixels left, and 10 down (or pick your own coordinates; this is not important for this lab). Call the resulting file 220abc.jpg.
- Add the caption "CSC 220" (or whatever text you want) to the bottom of the resulting image as follows:
convert 220abc.jpg -pointsize 20 \
-draw "gravity south fill white text 0,10 'CSC 220' " \
220abcfinal.jpg
- Check that you can see the white text at the bottom of the 220abcfinal.jpg image.
- Store the resulting file in your public_html directory, and make it readable by all:
cp 220abcfinal.jpg ~/public_html
chmod a+r public_html/*
Part 2
- Create a script file that will do all the work that you did by hand in the previous section.
- Call your script collage.sh (for example), and make sure its first line is
#! /bin/bash
- Also make sure you make your script executable when you're done:
chmod +x collage.sh
- remove the 220abcfinal.jpg file from your public_html directory
rm ~/public_html/220abc*.jpg
- verify that if you reload your browser, the image is not available any longer.
./collage.sh
- Reload your browser. Does the image reappear? If yes, congrats! If not, figure out why!