New: After you've clicked once on the Flash object, use your cursor keys and (if you're on Windows/Linux), SCROLL WHEEL!

Download source files

There is only 1 required variable and a few optionals, which are set by modifying the FlashVars property in the Flash Object on the web page.

Required variable:

file=filename
--- path to file
if not given, it will attempt to load 'test.jpg'

optional variables:

borderWidth=nn
--- border around main image.  Useful for zooming, so that user can see edges better.  Defaults to 12 pixels.

glassSize=n
--- initial size of magnifying glass.  Valid values are 1 through 4 (for one-third-of-smallest-dimension to full-size glass).  Defaults to size 2 (half). -- I scrapped size 0. Values outside the range 1 to 4 are clipped to the range.

initialZoomSize=NN
--- initial zoom level (% of pixels in zoomed image - i.e. 100 shows all pixels in zoomed image - does not affect main image).  Defaults to 100. Do NOT put in % sign as this is a reserved symbol and wrecks the next character in FlashVars
OR initialZoomSize=Nx
Set initial Zoom Size by magnification level (as shown on slider) instead of %. 'x' must be the character immediately after the number.

maxZoomSize=NN
--- maximum allowed zoom.  Defaults to 200 - i.e. double full-size of zoomed image (will be slightly blurry).
ORmaxZoomSize=Nx
Set Max Zoom Size by magnification level (as shown on slider) instead of %. 'x' must be the character immediately after the number.

targetColour=#RRGGBB
Colour of target. You may need to change it from the default red if you're zooming into a reddish thing.
'u' in 'targetColour' is optional, as is '#' before hex colour value.

file2=filename
--- use a different image inside magnifying glass instead of just zooming the main image.
This 'reveals' new information as well as zooming. Reveal example.

Notes
  • initial Zoom % settings are different from the magnification-level shown when running... but the designer should be thinking about the resolution of the images and the viewing user should be more interested in the current magnification level.
  • you can stick units after values if you like (% or px or whatever) - they are ignored.
  • I haven't tested it, but swf files may be used instead of (non-progressive) jpegs. e.g. A creative person could make a nature-scene where zooming in shows you the fish jumping in the river, etc.
  • setting the bgcolor in the flash object changes the border colour around the image.


  • For an image sized IW by IH pixels, optimal sizes for the Flash object are:

    n x IW + (2 x borderWidth) + 60 by n x IH + (2 x borderWidth)

    If user chooses Flash iDevice width, optimal height can be calculated as:
    FlashHeight = ((FlashWidth - (2 x borderWidth) - 60) / IW) x IH + (2 x borderWidth)

    Notes:
  • If you know the image aspect ratio (e.g. 4x3), you can substitute these values for IW and IH.
  • User should be able to enter width or height and have other value auto-calculated (unless they 'unlock' the 2 dimensions and manually enter both values.
  • You could use 270 as minimum height, but if you do want to set height to <270 pixels, use small-size calculation below instead.



  • For an image sized IW by IH pixels, optimal sizes for the Flash object are:

    n x IW + (2 x borderWidth) + 120 by n x IH + (2 x borderWidth)

    If user chooses Flash iDevice width, optimal height can be calculated as:
    FlashHeight = ((FlashWidth - (2 x borderWidth) - 120) / IW) x IH + (2 x borderWidth)

    Notes:
    If you calculate height is >=270, use standard calculation above instead.

    It doesn't matter which calculation you do first, so I suggest doing the 'standard' one and then doing the small one if height is calculated as <270 pixels.

    If main image is smaller than available space, it is shown at 100% (ie not scaled up) and borderWidth is increased to pad remaining space
    Smallest valid width is 180 pixels
    Smallest valid height is 160 pixels
    I changed the small/standard cutoff size from 300 to 270