|
-
Product Designer
iPhoto-like slideshow effect
I've just been asked to emulate it. And I was trying to figure what's behind the iPhoto slideshow pan/crop effect on oversized images. The same that has been now taken into the latest Nokia phones.
I am building a set of effects in a Flex-like manner (a series of classes that extend EventDispatcher and implement my own interface).
For such pan/dolly/crop effect I'm thinking maybe the following is a good process, given that I'm sure iPhoto doesn't have area of interest recognition, but uses randomness instead:
1: based on DisplayObject's and frame's (area of visualization) sizes, the script pre-computes 2 positions.
a) see-all, that maybe in-circled or out-circled based on the aspect ratio:
I) if the image is about a square, the position will be chosen so that it completely fills the area of visualization;
II) if the image is about an long rectangle, either horizontal or vertical, the position will be chosen so that most of it is shown within the area of visualization;
b) cropped-in, with random values for zoom and x/y position, within the image.
2: the script randomically decides whether to go from a to b, or from b to a.
3: the script moves, at the given pace (I would use total duration as an external parameter) from start point to end point with a linear motion (no accelerations).
From a logical point of view it all seems good. Can you see any flaws? Or (even better), do you know of anybody that hacked some cognitive software that estimates the area of interest of a picture, that I can port into AS3?
I will be happy to post the class as soon as it is ready, if anyone is interested.
Altruism does not exist. Sustainability must be made profitable.
-
Senior Member
Ohhhh man I thought you were asking about the cd-cover browsing in iTunes and I started writing a class for it in papervision...
uh...I seriously doubt there's anything cognitive going on in iPhoto's slideshows. You should pro'lly just create a class that randomly calls one of a half-dozen tweens and make one tween in your master class that triggers an image change if your current image ever gets (_smaller_ than the stage width AND stage height) OR (longer than a certain time increment); other than that, not much to it right...?
-
Product Designer
Thanks for the reply, I'm on it.
Will get back with my results.
I'm building the effects in a event-based model, and everything is binded to duration.
Altruism does not exist. Sustainability must be made profitable.
-
Product Designer
Sticking to the event-driven Flex-like logic, I built the easing effect as a class that operates on a target's transform.matrix, based on a Rectangle specifying the viewing window in the target's local coordinates.
The program, as of now, is 5KB in size (8KB including a small PNG for the circular preloader).
A lot has to be added to it. but this is definetly a good starting point!
http://ascaniocolonna.com/test/
Altruism does not exist. Sustainability must be made profitable.
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|