Thiago
Thiago

Reputation: 4832

Algorithm Arrange images on screen

I need to start building a image application and my customer wants to arrange the picutes in the screen like google tv does, as well as everpix. I have been looking for it for a while but I was unable to find it. The result of arranging the pictures this way is amazing and makes the best use of the screen space.

http://www.google.com//tv/static/images/photos_tv_straight.png

enter image description here

Is this a known algorithm? Does it have a name?

Many thanks T

Upvotes: 4

Views: 4041

Answers (3)

Ross
Ross

Reputation: 2096

Like jwpat7 suggested look for "photo collage layout" algorithms. Particularly things like "treemap" and similar (squarified trieemap). I am working on similar algorithm and for some small number of images you just need to solve simple system of linear equations. There is another HP article that is probably more close to what are you looking for.

Mixed-Initiative Photo Collage Authoring - look at part 4.

Following image is done with some squarified treemap and ratio optimization. enter image description here

Upvotes: 3

Cybercartel
Cybercartel

Reputation: 12592

In css you can arrange images from horizontal to vertical. A good example is the Google image search. There is the Jquery Masonry plugin to arrange from vertical to horizontal and it has some nice animation. In your example you want to have rather a rectangle arrangement I suggest a treemap algorithm where you can also rotate the rectangle in 90°.

Upvotes: 1

James Waldby - jwpat7
James Waldby - jwpat7

Reputation: 8711

Search for photo montage and photo collage algorithms, as well as photo tiling.

An HP article called "Structured Layout for Resizable Background Art" may be helpful.

Numerous collage programs are available for purchase and some software is available in source form; e.g. see hlrnet list, software.informer list, and perhaps this resizing blurb.

The algebra for scaling photos for a collage while maintaining aspect ratios is straightforward and easily described for specific cases, but not for too-general ones.

Upvotes: 1

Related Questions