| |
| The method consists
of just a few steps, but are explained in great detail below. |

|
1. Where-ever there
is an image, note the exact width and height in pixels, and wherever you
want the image to appear, insert a single-cell table with those exact dimensions.
Make certain that the table parameters are "border=0" "cell
spacing=0" and "cell padding=0".
2. Next, choose your image as the background for that cell. This way, the
choosing "COPY THIS IMAGE" "SAVE THIS IMAGE" "DOWNLOAD IMAGE TO DISK" "OPEN
IMAGE IN NEW WINDOW" functions will not appear, as the image is not seen
as an image, but as a background, and there is no repeating of the image
because the table is exactly the same size as the image. This is beneficial
not only for appropriate viewing, but also for step 5 of the plan. |

|
3. Create a "sp.gif"
file that is 1 pixel by 1 pixel, and is transparent. Then place this image
within the single cell. Once placed, change the dimensions of this graphic
to be two pixels smaller on the width and height of the image/table cell.
The 1x1 size makes it load as fast as possible, and changing the dimensions
merely stretches an invisible graphic so it does not matter that a 1x1 graphic
is filling a much larger space. The purpose of this graphic is so that when
a visitor places their mouse over the image and clicks, something happens,
as opposed to if you did not have the graphic, you could not interact with
the image at all. This graphic allows for the following two actions, which
are warning actions. |

|
|
4. When the image
is clicked on, the following message comes up. This message is a courteous
one, making the assumption that someone is NOT trying to download the
image but rather reacting to the mouse/pointer changing to indicate there
is something to click on. Following is the message that appears:
| " Thank you for
your interest in John Harrington Photography. If you have clicked
on this image looking for another link, this informational splash-page
is the only link from this image. If you have clicked on this image
looking to download this image, please click here." |
(The url for this page is "www.johnharrington.com/shared/imagenotice.htm".
) Please feel free to key the URL into your web browser and have a look
at the source code. Note- When viewed in your browser the navigation bar
and the buttons will appear as the window was not opened by the javascript
below.
The HTML and javascript commands below are used on each image, and on
each page.
The javascript below
should appear in the space just above the </HEAD> line on the top
of each page where an image needs to be protected.
|
| <script
language="JavaScript"> |
| <!-- |
| function
MM_openBrWindow(theURL,winName,features)
|
|
{ |
| //v2.0
window.open(theURL,winName,features); |
| } |
| //--> |
| </script> |
|
|
Here is exactly what
the javascript function is doing:

|
|
<script
language="JavaScript">
|
This line tells
the browser that it is about to start something that is Javascript
|

|
|
<!--
|
This line is
an indiciation to the browser that if javascript is not enabled, to
not follow the instructions enclosed between the opening "<"
and the closing ">". The exclamation point immediately
following the "<" is how the browser determines that.
|

|
|
function
|
This
tells the browser that a FUNCTION is about to be defined. Defining
a function once means that you don't have to define it each and every
time you want to use it.
The concept is similar to telling your assistant you want a "3
to 1" lighting ratio, with F11 as the main light at 45 degrees.
You and your assistant have already determined where the lights should
be placed, and the other f-stop falls at F8 because you have told
him/her previously what it should be.
|

|
|
MM_openBrWindow
|
This is simply
the name of the function, it could be anything. MM means it was created
in MacroMedia, and OpenBrWindow just lets you know which function
it is.
|

|
|
(theURL,winName,features)
|
These are the
variables that will be needed when the function is referred to later.
Each has a name, which could be anything.
For ease of use, they were defined as what they are. The most important
name is the FEATURES name. By defining the width (464) and heighth
(464) of the new window opening (when the function is referred to
later in the html page, you only get the web page screen and not any
standard buttons or other distractions. 464 was chosen for the width
because that is the width of my logo, and I decided I wanted it a
square window so I made the height the same.
|

|
|
{
|
This tells the
browser that the beginning of the function starts after this character.
|

|
|
//v2.0
|
This tells the
browser which version of Java is being used
|

|
| window.open(theURL,winName,features); |
WINDOW.OPEN is
a command to the browser to open a new window. The variables are passed
to the browser here so it knows exactly what to open and display.
|

|
|
}
|
This tells the
browser that the function is now completely defined
|

|
|
//-->
|
This is the closing
indicator to the browser to ignore everything between the first "<!--"
and this "//-->" so an error does not appear if you don't
have javascript enabled.
|

|
|
</script>
|
This means that
the javascript is over. |
| |
|
| |
| Next is the command
used around the image itself. It's treated by the web browser af it was
a link which linked to any other URL or html page. |

|
| <table
width="485" border="1" cellspacing="0" cellpadding="0" height="331"
bordercolor="#FFFFFF" background="protectme.jpg"> |
| <TR> |
| <TD> |
| <a
href="#" onMouseDown="MM_openBrWindow('imagenotice.htm','ImageNotice','width=464,height=464')"> |
| <img src="sp.gif"
width="483" height="329" border="0" align="middle"> |
| </a> |
| </TD> |
| </TR> |
| </TABLE> |
| |
|
| |
| Here's exactly what
it is doing: |
| |

|
|
<table
width="485" border="1" cellspacing="0" cellpadding="0" height="331"
bordercolor="#FFFFFF" background="protectme.jpg">
|
This line defines
the table and it's attributes. Note that the height is exactly the
same size as the actual image as is the width. The key is that the
image is the background of the table.
|

|
|
<TR>
|
This
line tells the browser that this is the first line of the first row
TR stands for "TABLE ROW"
|

|
|
<TD>
|
This
tells the browser that the first cell in the table is about to begin.
|

|
|
<a
href="#"
|
This is where
the URL for another page would appear. The "#" simply is
a null, and will link nowhere. However, having this allows for the
functionality that lets you open the window with the warning.
|

|
|
onMouseDown="MM_openBrWindow
|
This is where
the function is referenced. The browser recognizes the command "onMouseDown"
which means that when the mouse button is depressed, do the following
action after the "=" sign. In this case, it calls into action
the function defined at the top of the html page.
|

|
|
('imagenotice.htm','ImageNotice','width=464,height=464')
|
Here is where
the variables are passed to the function. "imagenotice.htm"
is the variable "theURL" "ImageNotice" is the
variable "winName" and "width=464,height=464"
is passed to the function to set the features of the window. By setting
ONLY the width and height, all other features, such as the navigation
bar (where you would key in a web site address) and the button bar
(with the back, forward, home, refresh buttons) are turned off.
|

|
|
<img
src="sp.gif" width="483" height="329" border="0" align="middle">
|
This is where
the spacer GIF is loaded. Here, it is loaded into the one cell in
the table. It's two pixels smaller than the actual image, because
I chose to set a border of "1" on the table. IF you choose
not to have that border, then set the width and height on the sp.gif
file to be exactly the same as the table size.
|

|
| </a> |
This ends the
link command.
|

|
|
</TD>
|
This ends the
cell.
|

|
|
</TR>
|
This ends the
row.
|

|
|
</table>
|
This ends the
table. |
| |
|
| |
|

|
|
4 - Upon clicking
on the image, the "nice" splash screen below loads:
|
Thank
you for your interest in John Harrington Photography.
If you have clicked on this image looking for another link, this
informational splash-page is the only link from this image.
If you have clicked on this image looking to download this image,
please
click here.
|
This page merely tells
people there is nothing further to see, but there is a hook which catches
people who ARE trying to download the image. If someone clicks on the
link "If you have clicked on this image looking to download this
image please click here." Eventually this link that people will click
will activate a java applet called "Devious Visitor Monitor" which will
extract the visitors e-mail and last 6 sites visited from the visitors
browser. Or, it may prompt them for their e-mail address which will automatically
send them an e-mail warning about copyright violation. Your level of nastiness
may vary. However, at present, clicking on this "download" link
loads another small splash page, which reads:
|
"You've indicated
that you have clicked on this image looking to download this image.
Please review the copyright information at the bottom of each page.
Use of any image outside of viewing on this website without written
permission is a violation of copyright.
Therefore, while viewing images on our website, we have temporarily
modified the "COPY THIS IMAGE", "SAVE THIS IMAGE", "DOWNLOAD IMAGE
TO DISK", and "OPEN IMAGE IN NEW WINDOW" functions. If you download
the image outside of this website, it will not be visable.
------------------------------------------------------------------------
For information
on the fees for using images in your brochures, publications, or
advertising, click here. For information on our website policy regarding
copyright, click here. For information
on US Copyright law and why you cannot just use these images without
permission, click here."
|
The URL for the first "nice" page is:
www.johnharrington.com/shared/imagenotice1.htm
The URL for the second
"warning" page is:
www.johnharrington.com/shared/imagenotice2.htm
This page is educational and nice, and links to pricing pages, our policy,
and the copyright office. There is a bit of a fudge in the "modified...functions"
as the functions are not actually available when there is no image to
download, and if someone somehow gets the "image" downloaded what they
will actually have downloaded will be the sp.gif file so it will be an
invisible file.
|

|
|
Step
5
This has not been implemented by me yet.
|
| The photo above
needs to be protected. I've had people steal it before, and called
to offer only photo credit, then when I tell them I need to bill them
for usage, they refuse to pay, and use it. No way to trace them. |
One of the problems
I have is the distracting "© John Harrington" text when it's
placed in the image area. It's distracting, and begins to look paranoid.
One of the benefits of putting an image in the background of a table is
that if the table is not big enough to display the image, it will display
whatever it can. So, if the image size is 200 x 300, and the table is
200 x 300, the image will fit. But, suppose you now increase the size
of the image by 60 pixels on the right? You've now got extra space to
place copyright notice information, which will ONLY be visible if someone
maliciously extracts the image from the table cell background. This means
someone has to actually cut off the copyright notice which is a malicious
violation of copyright.
|
| The photo has
copyright text posted on the right side. This too looks paranoid.
However, hiding the text on the right "under" a table means
that someone will ONLY see the text IF they view the image outside
of the table, and if they are viewing the image outside of the table,
they are viewing it off your website, and therefore violating your
copyright. See how it looks below. |
|
|
The photo with
the protection text on the right has a dimension of 360 x 197 pixels.
The picture without the protection text is 300 x 197, that is, 60
pixels smaller. So, by setting the size of this table to be exactly
300 pixels wide, (as this table is) you cannot see the text.
Here, I've left the image protection off so you can not see the copyright
protection text, and, infact, when you place the mouse over it and
right-mouse-click (on a PC) or click-and-hold (on Mac's) you can't
drag it to the desktop. |
|
|
The photo now
has image protection added.
|
So there you have it. Steps 1~4 make it easy. Step 5 will take time to
reformat images. I have implemented steps 1~4 on all my images except
the magazine covers and images in the PR section of my website, so you
can check out just how it works there.
|