FAQ
Cover
This is the archive Discourse for the Processing (ALPHA) software.
Please visit the new Processing forum for current information.

   Processing 1.0 _ALPHA_
   Programming Questions & Help
   Programs
(Moderators: fry, REAS)
   Fade, Pan, and Zoom Screensaver Project
« Previous topic | Next topic »

Pages: 1 
   Author  Topic: Fade, Pan, and Zoom Screensaver Project  (Read 929 times)
tidalwav1

WWW
Fade, Pan, and Zoom Screensaver Project
« on: Sep 13th, 2004, 2:41am »

Hi, everyone.
 
I myself use Windows on my main computer (and Linux on another one, so no one attack me), but I was at someone's house who had a Mac and I noticed iPhoto's Effects plugin, and its corresponding screensaver. I was blown away by the smooth, simple, and tasteful pan, zoom, and fade effects that were produced in between pictures. I was wondering if anyone would be interested in helping a novice Java programmer like myself to make a program/applet/secreensaver, in Java, that would produce the same effects for a photo slideshow, so I asked around on a few sites I visited and someone pointed me towards Processing. I'm very new to Java, but I'm learning very fast (I have a background in BASIC and VB.)
 
Basically, the program in question would work like this:
 
1) A JPEG photo would fade onto the screen.
2) It would slowly pan diagonally in one of four directions while zooming in or out.
3) Fade/Dissolve into another photo.
4) Repeat steps 2-4.
 
Anyone think this is a worthy project? If so, where should I even start? I know very little about graphics, and if anyone would be willing to help me start this project with Processing I'd appreciate it.
 
Thanks for the help in advance!
 
tidalwav1

WWW
Re: Fade, Pan, and Zoom Screensaver Project
« Reply #1 on: Sep 13th, 2004, 3:49am »

Okay, here's some basic n00bish skeleton code for what I want to do. Probably all of the methods are calling each other wrong, but too bad.
 
public class jSlideshow
{
 public static void main (String [] directoryNames)
 {
  //Assume that if main is called with no arguments, scan local directory for images.
  findImages(directoryNames);
  displayShow(imageArray);
 }
 
 public static void findImages(directories)
 {
  //Recursively search the given directories for JPG and GIF files.
  //Populate a one dimensional array, imageArray, with filenames of images found.
 }
 
 public static void displayShow(imageArray)
 {
  //Scramble the order of the array elements.
  //Load the first two images in the array into memory.
 
  //Do the following for every image in the array.
   {
    //Fade in image.
    //Do this until zoom is below 55% or above 95%
    {  
    zoomAndPan(zoomInt, panInt);
    }
   }
 
  //call displayShow again after the last image in the array is displayed.
  //Terminate the program after a key is pressed.
 }
 
 public static void zoomAndPan(zoomInt, panInt)
 {
  //MAKE SURE NO NUMBER IS GENERATED TWICE IN A ROW.
  //Randomly generate an integer from and including 1 to 4, and put it in the variable panInt.
  //Randomly generate an integer from and including 5 to 6, and put it in the variable zoomInt.
  panImage(panInt);
  zoomImage(zoomInt);
 }
 
 public static void panImage(panInt)
 {
  If panInt == 1 then pan up and to the left.
  If panInt == 2 then pan up and to the right.
  If panInt == 3 then pan down and to the left.
  If panInt == 4 then pan down and to the right.
 }
 
 public static void zoomImage(zoomInt)
 {
  If zoomInt == 5 then first display the picture filling the screen but only showing 55% of its contents and zoom out.
  If zoomint == 6 then first display the picture filling the screen but only showing 95% of its contents and zoom in.  
 }
}
« Last Edit: Sep 13th, 2004, 3:51am by tidalwav1 »  
arielm

WWW
Re: Fade, Pan, and Zoom Screensaver Project
« Reply #2 on: Sep 13th, 2004, 8:32am »

hey, why not making it the processing way?
 
->
 
- forget all the "void main(String[] args) & "public static" stuff...
 
- start from bottom up: making a series of small sketches, each of them exploring a particular issue (e.g. loading an image an zooming into it... fading in/fading out, etc.)
 
- then once you're mastering the CG side, you can start to think about the screen-saver's overall structure...
 
hth
 

Ariel Malka | www.chronotext.org
tidalwav1

WWW
Re: Fade, Pan, and Zoom Screensaver Project
« Reply #3 on: Sep 13th, 2004, 1:11pm »

Alright, but I have basically no idea how to do anything with graphics, I've looked around on these forums and I'm still totally confused. I'm especially unsure of getting two images to fade into one another, despite the fact that I've seen multiple threads about that on these forums. :p
 
v3ga

WWW Email
Re: Fade, Pan, and Zoom Screensaver Project
« Reply #4 on: Sep 13th, 2004, 1:33pm »

Hello,
may be this would help you, I've coded a basic fader which allows you to fade two pictures with some 'grid effects' applied as transistions. It basically uses blending possibilities of Processing. Anyway, there's no extra effects sucha as zoom/pan, just plain fading between pics of same dimensions. It can be a good start.  
 
> http://v3ga.free.fr/Tmp/SummerMadness_Fader.zip
 used there
> http://www.2roqsmuseum.net/SummerMadness/Flyer/
 

http://v3ga.net
Pages: 1 

« Previous topic | Next topic »