Lawrence Goetz's Image 3D - V1.1

Copyright Lawrence Goetz 1999

Image 3D is a free applet that will take a 2D image and spin it around it's X, Y, or Z axis as if it were a 3D image. It's great for logos on a site, or for general pictures that you want to spin. The applet can be linked to a file and it works with frames.

Examples of what it can do:

X Rotation

Y Rotation

Z Rotation Clockwise

Z Rotation Counterclockwise

While the applet is starting up, it gives a status about the loading of the image and the number of frames calculated.

When the mouse is in the applet, an About button appears. Clicking on that button will take you to a page letting you know about this applet. This is to allow visitors to go to my site, and is what makes this applet free. It opens a new browser window, leaving your site displayed in the background browser.

I have tested it on Netscape 3.04 and Internet Explorer 3.0. It worked fine on both these browsers. If for some reason it's not working, restart your browser and try again. In Netscape 3.04, on a Z rotation, the color quality for me was 256 colors. On IE 3.0 and Netscape 4.08 they worked in full color. In X & Y rotation, the color was full in both browsers.

Here is the code you add to your web page, to run the applet. You don't need to have  the comment lines, but they help you read the code. I'd appreciate it if you left in the comment about the title of the applet and where it can be found. This is so people who want to know what it is, know where to find it. You'll also need to place the lgimage3d.class file and your image in the same directory as you place your html file that loads the applet.

<!-- Lawrence Goetz's Image 3D. Copyright Lawrence Goetz 1999. -->
<!-- Web: E-mail: -->

<!-- Width and Height of the applet -->
<applet code=lgimage3d.class width= height= >

<!--File name of image. -->
<param name=image value="">

<!-- Background color. -->
<param name=background value="">

<!-- Delay in milliseconds to pause between frames. -->
<param name=delay value="">

<!-- Time in milliseconds to pause at first frame. -->
<param name=pause value="">

<!-- Frame rate quality -->
<param name=quality value="">

<!-- Axis to rotate. -->
<param name=axis value="">

<!-- Clockwise toggle. -->
<param name=clockwise value="">

<!-- Link for applet -->
<param name=link value="">

<!-- Target for link. -->
<param name=target value="">

<!-- Info to be displayed when the mouse is in the applet. -->
<param name=info value="">

<!-- HTML code for non Java visitors goes here. -->
Sorry, you don't have Java.


Here are detailed explanations of the applet parameters. You can leave out any of the parameters, if you want to take the default. The only required tags are the applet size, and image file name. If you spell the image name wrong, or don't have the image uploaded, you will see a blank applet.

Applet Size:

The size of the applet is given in the width and height values in the applet tag.
<applet code=lgimage3d.class width= height= >

For example if you want a 200 by 100 pixel applet, you write:
<applet code=lgimage3d.class width=200 height=100 >

Give the applet the same size as your image file. However for the Z rotation, you may want to make the size of the applet larger than the image, so the image has room to rotate.


Place the image file name here. The image can be a JPG or GIF.

<param name=image value="">


<param name=image value="fish.jpg">

Background Color:

Here are the color choices:


For example, to have a white background do:
<param name=background value="white">

If you don't specify a color, the default is a black background. If you make a spelling mistake you will get the wrong color. The name of the color must be in lowercase.

Frame Delay:

Set the delay in milliseconds for each frame to be displayed. 1000 ms in 1 sec.

Example of 50ms:

<param name=delay value="50">

The default is 20.


If you want to have the first frame pause before rotating, you can set it here. Pause is in milliseconds. 1000 ms in 1 sec.

Example of 1 sec pause.

<param name=pause value="1000">

Default is same as frame delay.


The program takes time to calculate the rotation. The more frames displayed the longer it takes. The default is high quality, which is 34 frames. Each frame is the same size of memory as the original. If you have a very large image, it will take up a huge amount of memory. In Z rotation, the frame size is the size of the applet. Try to keep the image small to make the calculation faster and the memory less. In the unlikely event you run out of memory, you'll get an error in the status bar. If you want low quality, which is 17 frames, you can set it here:

<param name=quality value="low">

A value of anything other than low will be of high quality. Default is high quality.


This is the axis that the image will rotate about. Values are x, y, or z. The default is the Y axis. You set the axis here.

Example of x axis rotation.

<param name=axis value="x">

Any value other than x or z will be the y axis. For the Z rotation, you may want to make the size of the applet larger than the image, so the image has room to rotate. Z rotation takes a bit longer than X or Y rotation, so you may want to use low quality rotation.


You can have the image rotate clockwise or counterclockwise. If you want it to go counterclockwise, turn clockwise to false.

<param name=clockwise value="false">

The default is true, which is to have it go clockwise. In X or Y rotation, you can't tell the rotation difference, since the image has no depth. In Z rotation, you can tell it's going clockwise or counterclockwise.


You can have the applet linked to a web page or file. Placing an address in here will link the applet to it.
<param name=link value="">

For example, to link an applet to my page, you would do:
<param name=link value="">


If you are using frames on your page, you need to specify the target for the URL.       
<param name=target value="">

This takes the same value that you'd give the target in regular HTML code. The target is the name of the frame to display the URL.

_top will display the site in the main window of the browser (as if there were no frames).
_blank will display the site in a new browser window.
_self will display the site in the frame that the applet is in.
name will display the site in the frame specified by name.

<param name=target value="main">
This will display the site in the frame called main.


When the visitor moves the mouse over the applet, you can give the title of the web link they will be clicking on.You place the title here:
<param name=info value="">

An example would be:
<param name=info value="Visit my home page">

Non Java Visitors:

If a visitor doesn't have Java, or it's not enabled, you can give them alternative HTML. Just place any HTML code you want to be displayed under:
<!-- HTML code for non Java visitors goes here. -->

For example you can have code to display the image you have in the applet.

Only visitors without Java, or without Java enabled will see this link. Visitors with Java and it enabled will see the applet.

I like seeing my applets in use. If you could, please send me the URL of the page using my applet.

If you have any questions about the applet, E-mail me.

If you like this applet, and I hope you do, please fill out my feedback form. This way I can show other people on my site what people think of my applet.

Visit my home page for other applets that I've written.