JimmyScott
05-15-2003, 07:06 AM
Hello, I have a pogram that uploads a continuingly changing image file. The server accepts it fine. I'm looking for a script that will swap the image only if a new image was uploaded.
I'm wondering how this script that I do have can be applied
*********************
import java.awt.*;
import java.applet.*;
import java.net.*;
// Variables:
// Trace - trace control
// URL - Url for image
// Interval update interval
public class JavaCam extends Applet implements Runnable
{
boolean boolean_Debug; // Debugging enabled/disabled
Image image_WebcamImage; // Image from Webcam32
Thread thread_This; // Thread for refreshing image
int int_Interval; // Interval between image refreshes ...
public static void main(String args[])
{
System.out.println("Webcam32's JavaCam: V1.1");
}
public void trace(String message)
{
if (boolean_Debug)
{
System.out.println(message);
}
}
public void destroy()
{
trace("Applet.destroy() called");
thread_This.stop();
}
public void start()
{
trace("Start called");
thread_This.resume();
}
public void stop()
{
trace("Stop called");
thread_This.suspend();
}
public void run()
{
trace("run(): Thread started!");
while (true)
{
try
{
// Put the refresh thread to sleep for the supplied interval
Thread.sleep(int_Interval*1000);
trace("Flushing image");
// Flush the image in the image buffer so we get a new one
image_WebcamImage.flush();
// Track the image and wait till its loaded
MediaTracker mediaTracker_track = new MediaTracker(this);
mediaTracker_track.addImage(image_WebcamImage, 1);
mediaTracker_track.waitForID(1);
// Repaint the image
repaint();
}
catch (Exception e)
{
trace("Caught:"+e.toString());
}
}
}
public void init()
{
String string_Url;
URL url_Webcam;
int int_Port;
boolean_Debug = false;
if (getParameter("Trace") != null)
{
boolean_Debug = true;
}
trace("Init called");
string_Url = getParameter("URL");
if (string_Url == null)
{
showStatus("No URL for Webcam32 image supplied");
return;
}
try
{
int_Interval = Integer.parseInt(getParameter("Interval"));
}
catch (Exception e)
{
// Format exception ... default interval 30
int_Interval = 30;
}
trace("Refresh interval="+int_Interval);
try
{
url_Webcam = new URL(string_Url);
trace("Target URL="+url_Webcam.toString());
image_WebcamImage = getImage(url_Webcam);
MediaTracker mediaTracker_track = new MediaTracker(this);
mediaTracker_track.addImage(image_WebcamImage, 1);
mediaTracker_track.waitForID(1);
}
catch(Exception e)
{
trace("Image get exception:"+e.toString());
showStatus("Problem getting initial image: "+e.toString());
return;
}
/*
int int_Width = image_WebcamImage.getWidth(this);
int int_Height = image_WebcamImage.getHeight(this);
trace("width="+int_Width+" height="+int_Height);
resize(int_Width, int_Height);
*/
// Create and start the new thread initially suspended
thread_This = new Thread(this);
thread_This.suspend();
thread_This.start();
}
public void paint(Graphics g)
{
trace("paint()");
if (image_WebcamImage != null)
{
g.drawImage(image_WebcamImage, 0,0, this);
}
}
}
**************
I have the .class file for this script but I'm confused.
<APPLET code="JavaCam.class" width=320 height=240>
<param name="interval" value="1">
<PARAM name="url" value="http://.../image.jpg">
</APPLET>
Please help
I'm wondering how this script that I do have can be applied
*********************
import java.awt.*;
import java.applet.*;
import java.net.*;
// Variables:
// Trace - trace control
// URL - Url for image
// Interval update interval
public class JavaCam extends Applet implements Runnable
{
boolean boolean_Debug; // Debugging enabled/disabled
Image image_WebcamImage; // Image from Webcam32
Thread thread_This; // Thread for refreshing image
int int_Interval; // Interval between image refreshes ...
public static void main(String args[])
{
System.out.println("Webcam32's JavaCam: V1.1");
}
public void trace(String message)
{
if (boolean_Debug)
{
System.out.println(message);
}
}
public void destroy()
{
trace("Applet.destroy() called");
thread_This.stop();
}
public void start()
{
trace("Start called");
thread_This.resume();
}
public void stop()
{
trace("Stop called");
thread_This.suspend();
}
public void run()
{
trace("run(): Thread started!");
while (true)
{
try
{
// Put the refresh thread to sleep for the supplied interval
Thread.sleep(int_Interval*1000);
trace("Flushing image");
// Flush the image in the image buffer so we get a new one
image_WebcamImage.flush();
// Track the image and wait till its loaded
MediaTracker mediaTracker_track = new MediaTracker(this);
mediaTracker_track.addImage(image_WebcamImage, 1);
mediaTracker_track.waitForID(1);
// Repaint the image
repaint();
}
catch (Exception e)
{
trace("Caught:"+e.toString());
}
}
}
public void init()
{
String string_Url;
URL url_Webcam;
int int_Port;
boolean_Debug = false;
if (getParameter("Trace") != null)
{
boolean_Debug = true;
}
trace("Init called");
string_Url = getParameter("URL");
if (string_Url == null)
{
showStatus("No URL for Webcam32 image supplied");
return;
}
try
{
int_Interval = Integer.parseInt(getParameter("Interval"));
}
catch (Exception e)
{
// Format exception ... default interval 30
int_Interval = 30;
}
trace("Refresh interval="+int_Interval);
try
{
url_Webcam = new URL(string_Url);
trace("Target URL="+url_Webcam.toString());
image_WebcamImage = getImage(url_Webcam);
MediaTracker mediaTracker_track = new MediaTracker(this);
mediaTracker_track.addImage(image_WebcamImage, 1);
mediaTracker_track.waitForID(1);
}
catch(Exception e)
{
trace("Image get exception:"+e.toString());
showStatus("Problem getting initial image: "+e.toString());
return;
}
/*
int int_Width = image_WebcamImage.getWidth(this);
int int_Height = image_WebcamImage.getHeight(this);
trace("width="+int_Width+" height="+int_Height);
resize(int_Width, int_Height);
*/
// Create and start the new thread initially suspended
thread_This = new Thread(this);
thread_This.suspend();
thread_This.start();
}
public void paint(Graphics g)
{
trace("paint()");
if (image_WebcamImage != null)
{
g.drawImage(image_WebcamImage, 0,0, this);
}
}
}
**************
I have the .class file for this script but I'm confused.
<APPLET code="JavaCam.class" width=320 height=240>
<param name="interval" value="1">
<PARAM name="url" value="http://.../image.jpg">
</APPLET>
Please help