I'm not a Gimp user, so I won't be able to help you much there, but I can give you some suggestions on how to create this effect in Photoshop. There are basically 2 components to this. First, you need to simulate an LCD display or some other physical surface the image is to be projected onto. Secondly, you need to create perspective cues via 3D perspective and a tilt-shift photography effect.
Part I: Faux LCD Projection
An LCD screen is typically comprised of an RGB pixel grid. There are varying subpixel geometries, but the most common has vertical bands of red, green, blue in that order. This means that when you zoom in on the interface between a light and dark region, there is a slight red tinge on the left border of the illuminated area, and a slight blue tinge on the right border. Additionally, you can usually see the vertical rows that make up the overall pixel grid (often referred to as "scan lines" even though that's a term from CRT displays).
So to simulate this part is quite simple:
- To simulate the RGB subpixels, just nudge the red channel over to the left (via the Channels pane), and nudge the blue channel to the right. Since the smallest amount you can alter a raster image is a full pixel, you generally want to start with a very high resolution image or this technique will up-play the subpixel offset too much (effectively representing a single subpixel in your virtual image with a full pixel in your actual image).
- The "scan lines" are also easy to reproduce. Start by create a 1x2 pixel transparent image; fill in one pixel; select the document and
Define Pattern... (found in the edit menu).
- Next create a new layer over your source image and fill it with your new scan line pattern. Set the blending mode to
Soft Light and opacity to ~
- Duplicate that scan line layer, but this time set the blending mode to
Normal and opacity to ~
6%. Again, a high resolution source image helps here, as you don't want your scan lines to be disproportionately large, though that can be somewhat attenuated here by adjusting the opacity.
Part II: Perspective Cues
Current versions of Photoshop Extended really make this part so much easier than would otherwise be possible.
- Group your source image and scan line overlay layers together so the whole thing is treated as a single virtual image.
- Now go to
New 3D Postcard From Layer.
- Now just open up the 3D pane and use the 3D tools (mainly
3D Object Rotate Tool,
3D Object Roll Tool,
3D Object Pan Tool,
3D Object Slide Tool, and
3D Object Scale Tool) to adjust the perspective/orientation of the virtual image.
- When you're done, you can change the rendering quality from
Ray Traced Draft or
Ray Traced Final.
Faux Tilt-Shift Effect
Finally, we put the finishing touches on the image by simulating the optical effects of a very shallow depth of field, which is often found in macro-photography or otherwise photographing a very close object. This part is quite easy with Photoshop also.
- Select your 3D layer and apply a layer mask to it (
- Now take the gradient tool and create a black-white gradient across the layer mask to be used as the depth map. That means you want the darker portion to coincide with the more distant (along the Z-axis) part the virtual image, and whiter area to coincide with the closer parts. It's alright if you invert the depth mask, but just make sure the gradient angle matches the perspective of the virtual image. Once you've done this, disable the layer mask so it won't actually mask the layer.
- Lastly, use the
Lens Blur effect to simulate that shallow depth of field. This particular tool is needed because, as cadmium stated, the optical distortions don't correspond with a simple Gaussian blur. Even as an approximation, simply varying the opacity of a fixed radius Gaussian blur does not come close to simulating a depth of field effect.
The end results after should look a little like this:
This particular image is less than ideal because I started with a relatively low resolution source image. Also, I use the
Ray Traced Draft quality setting for the 3D rendering to save on rendering time.
Here's a Flickr discussion that mentions alternate solutions and analogous plugins for Gimp for lens blur:
The original post is likely incorrect, but the comments by other users that mention focus blur and depth maps will likely produce a comparable effect to lens blur.