Difference between revisions of "CSC220 Lab 2 2010"
(→Setup your account) |
(→Part 2) |
||
Line 80: | Line 80: | ||
rm ~/public_html/220abc*.jpg | rm ~/public_html/220abc*.jpg | ||
+ | |||
+ | * verify that if you reload your browser, the image is not available any longer. | ||
+ | |||
+ | * Run your script. | ||
+ | |||
+ | ./collage.sh | ||
+ | |||
+ | * Reload your browser. Does the image reappear? If yes, congrats! If not, figure out why! |
Revision as of 11:28, 14 September 2010
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?
- You are going to use the Overlay feature of ImageMagick, covered here: http://www.imagemagick.org/Usage/annotating/#overlay
- 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/*
- Verify that you can access your picture on the Web: http://cs.smith.edu/~220a-xx/220abcfinal.jpg (make sure you replace xx by your 2-letter Id!)
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.
- Run your script.
./collage.sh
- Reload your browser. Does the image reappear? If yes, congrats! If not, figure out why!