Fill in and submit the form at this link, and use the resulting custom PIV page for FREE (personal and educational use only)!!!

Simply use your browsers File -> Save As... feature to save the resulting page as HTML.

If you do not use the "Save as Complete Webpage" option, you may also need to download the border image files and on-mouse-over images, the zoom buttons (if desired), and my modified version of the X library. See below for the links. It should also be fairly easy to create a new custom "skin", or even change the control interface entirely.

Commercial license pricing:
Please include the following 2 pieces of information in your email: 1) # of images you would like to commercially display, 2) # of microprocessors in your web farm/garden. Commercial usage fees start as low as $10 USD! Email me via the contact page or click the "PayPal Check Out" button below and purchase the internet special, a 3 image (1 processor or virtual host) license deal for only $15.

Examples (coming soon):
A neighborhood street
The shed --- An IFRAME example. HI RESOLUTION 1.2 mB 3506x369 image! Low-res for slow connections/computers
The Aliens Are HERE! --- An example that illustrates what can be done when a transparent GIF is inserted into the Border Text.
Custom Home Tour --- An example of what can be done with some customization.
Image Map Example --- Shows how to create clickable regions on the images that perform actions.


This is the latest version of the PIV. This version is built upon a modified version of the LGPL Cross Browser JavaScript Library, X, by Micheal Foster from Cross-Browser.com. My modified version is here. This script requires that you save this file on your web server in a directory named "dhtml". I've made on minor tweak (so that xGetObjectByID works correctly in NS4 with images in nested divs) and appended a couple of functions that I have found useful.

You can get the border images here.


  • Zooming - Call zoomIn(), zoomOut(), or zoomReset() javascript functions. Works in IE, and NS6/Mozilla1+.

  • Uses inherited clipping exclusively if possible. (Works in Opera now!)

  • Dynamic Positioning - Be sure to keep the onload and onresize event mapped to the initpiv and positionpiv methods. These help magically reposition the viewer to the inline placeholder div's position whenever the page flow is altered. You may put the placeholder div anywhere you wish. OnLoad and OnResize event handlers are now established using a event chaining mechanism, so adding the PIV to existing pages that already have their own OnLoad and OnResize functions should be easier than ever. The PIV is now smart enough to self register these events, yet still call any events that may have been established prior in the page.
  • Mouse Drag and Move - DIV level mouse capturing when possible (IE/NS6/Mozilla1). (NS4 document, NOT div mouse event capturing). Click-and-drag image position control can work using onMouseDown and onMouseMove (as is), or using onMouseDown and onMouseUp (as commented out).

  • Support for Non Continuous (Not 360 Degree) Images. With this option selected the scrolling stops when the boundry of the image is encountered.

  • Auto bounce: with 360 pictures you can set it so the image will automatically start traveling down when the top has been reached, and go down when the bottom has been reached. With non-360 images, you can do this too, as well as set bounce on for when the left and right borders of the image have been reached.

  • Mouse-wheel zoom control. Works in IE and any other browser that supports the onmousewheel event (currently not Firefox).

KNOWN BUGS: Zoom doesn't work right in NN4, and Opera. Opera drag and move doesn't seem to work either. The zoom functions have been disabled in NN4 for now. Also, resizing the window in NN4 messes up the viewport size.
JavaScript/ECMAScript, CSS, and HTML all work fine in Netscape 4+, Mozilla/Gecko/Netscape 5+, and IE 4+ on Linux and Windoze. Also works great on Apple's Safari 1.0+.

If javascript include file size is an issue, you may care to try out http://javascriptcompressor.com/ to take the white space out of your files. This has been coded somewhat for readability, and not for minimal file size.

* Note : URLs can be both remote (i.e. http://myimageserver.com/MyStichedImage.jpg) and local (i.e. file:///c|/Windows/Desktop/MyStichedPanoImage.jpg).

Copyright 1999-2010 Martin Krolik All Rights Reserved



Please contact me if you have a great idea for a project and need technical expertise in designing, developing, or integrating a custom software solution.

Recent Comments

Comment RSS