Saturday, November 12, 2016

effects - Creating a curved image/photo wall/montage using the Linux commandline


This question is a crosspost from Stack Overflow because of its predominantly graphical nature and the fact that I think that a primarily graphically oriented community may [be able to] provide advice and insight that the community that frequent Stack Overflow may not be aware of or experienced with/in. Having said this, if Stack Overflow remains the most topically correct place to discuss this, please do say so.




How would I go about creating the same type of effect Safari uses for its Top Sites view?


I would highly prefer a method that does not require I start a GUI. I don't mind if I need to compose the images together into a single canvas first - I can can just prepend that onto my command.


I found a related, but not entirely helpful, similar post (although it's where I got the screenshot from :P): openglES - give a curved effect to a wall of pictures


Screenshot of safari




Answer



You can use imagemagick's distort filter. In particular, the Barrel distort or Cylinder2Plane should accomplish what you want. After you've composited your images:


convert input.png -matte -virtual-pixel transparent -distort Barrel "0.0 0.0 0.0 1.0   0.0 0.0 -0.4 1.6"  output.png

or


convert input.png -virtual-pixel transparent +distort Cylinder2Plane 90.467  output.png

No comments:

Post a Comment

technique - How credible is wikipedia?

I understand that this question relates more to wikipedia than it does writing but... If I was going to use wikipedia for a source for a res...