[HELP] insérer un texte dans une image en java (Débutant)

Le
vede
bonjour,

j'ai récupéré une applet java (JavaCam.java)
qui affiche l'image présente dans le dossier
courant toutes les secondes.
Elle me sert à afficher l'image envoyée via ftp
par la webcam.
Il ya un texte en haut ("www.TOULOUSE-CAPITALE.com"),
que j'ai mis en place via l'admin de la webcam (et donc le
texte est généré par la webcam, webcam = AXIS 2110).

Mais je voudrais afficher un texte en bas, dans une autre
couleur et autre fonte, comme c'est impossible via l'admin
de la webcam, j'ai pensé qu'il y avait surement moyen
d''insérer le texte sur l'image ou l'on veut, couleur qu'on veut
en java.

Malheureusement je suis nul en java, pourriez vous m'aider,
il s'agit donc d'insérer un texte en bas de l'image.
Je ne pense pas que ce soit trop dur, possibilité troc si
trop ardu (contre manette jeu usb neuve ou PII ou
autre piéce d'ocaz.).

J'ai des notions en programmation (c,php,html,javascript,vbasic)
mais suis largué en java.j'éspére pouvoir m'y mettre un jour.

Ci-dessous le code (147 lignes) de l'applet.

Merci d'avance pour votre aide
vede

/* [fichier JavaCam.java] */

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);
}
}

}

/*
end
*/
  • Partager ce contenu :
Vos réponses
Trier par : date / pertinence
vede
Le #190644
ou sinon donnez moi des infos sur l'endroit ou modifier le code et les
"commandes java"
couirantes utilisées pour afficher du texte, l'insérer dans une image....


"vede" 426d425c$0$14367$
bonjour,

j'ai récupéré une applet java (JavaCam.java)
qui affiche l'image présente dans le dossier
courant toutes les secondes.
Elle me sert à afficher l'image envoyée via ftp
par la webcam.
Il ya un texte en haut ("www.TOULOUSE-CAPITALE.com"),
que j'ai mis en place via l'admin de la webcam (et donc le
texte est généré par la webcam, webcam = AXIS 2110).

Mais je voudrais afficher un texte en bas, dans une autre
couleur et autre fonte, comme c'est impossible via l'admin
de la webcam, j'ai pensé qu'il y avait surement moyen
d''insérer le texte sur l'image ou l'on veut, couleur qu'on veut
en java.

Malheureusement je suis nul en java, pourriez vous m'aider,
il s'agit donc d'insérer un texte en bas de l'image.
Je ne pense pas que ce soit trop dur, possibilité troc si
trop ardu (contre manette jeu usb neuve ou PII ou
autre piéce d'ocaz....)....

J'ai des notions en programmation (c,php,html,javascript,vbasic)
mais suis largué en java....j'éspére pouvoir m'y mettre un jour.

Ci-dessous le code (147 lignes) de l'applet.

Merci d'avance pour votre aide
vede

/* [fichier JavaCam.java] */

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);
}
}

}

/*
end
*/



Pierre Gilquin
Le #191350
Pourquoi ne pas le mettre en HTML en dessous de l'applet. Ca serait plus
simple ?

"vede" news:426d425c$0$14367$
bonjour,

j'ai récupéré une applet java (JavaCam.java)
qui affiche l'image présente dans le dossier
courant toutes les secondes.
Elle me sert à afficher l'image envoyée via ftp
par la webcam.
Il ya un texte en haut ("www.TOULOUSE-CAPITALE.com"),
que j'ai mis en place via l'admin de la webcam (et donc le
texte est généré par la webcam, webcam = AXIS 2110).

Mais je voudrais afficher un texte en bas, dans une autre
couleur et autre fonte, comme c'est impossible via l'admin
de la webcam, j'ai pensé qu'il y avait surement moyen
d''insérer le texte sur l'image ou l'on veut, couleur qu'on veut
en java.

Malheureusement je suis nul en java, pourriez vous m'aider,
il s'agit donc d'insérer un texte en bas de l'image.
Je ne pense pas que ce soit trop dur, possibilité troc si
trop ardu (contre manette jeu usb neuve ou PII ou
autre piéce d'ocaz....)....

J'ai des notions en programmation (c,php,html,javascript,vbasic)
mais suis largué en java....j'éspére pouvoir m'y mettre un jour.

Ci-dessous le code (147 lignes) de l'applet.

Merci d'avance pour votre aide
vede

/* [fichier JavaCam.java] */

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);
}
}

}

/*
end
*/




Poster une réponse
Anonyme