1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134
|
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.Panel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.FileOutputStream;
import javax.media.CaptureDeviceInfo;
import javax.media.Manager;
import javax.media.MediaLocator;
import javax.media.Player;
import javax.media.control.FrameGrabbingControl;
import javax.media.format.VideoFormat;
import javax.swing.JButton;
import javax.swing.JComponent;
import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGEncodeParam;
import com.sun.image.codec.jpeg.JPEGImageEncoder;
//import java.applet.*;
import javax.swing.*;
import java.awt.*;
import java.awt.geom.*;
import java.lang.*;
import java.awt.Component.*;
public class Hud extends Panel implements ActionListener
{
public static Player player = null;
public CaptureDeviceInfo di = null;
public MediaLocator ml = null;
public JButton quit = null;
public Image img = null;
public VideoFormat vf = null;
public Hud()
{
setLayout(new BorderLayout()); // definition d'une nouvelle fenetre
setSize(800,600); // et de sa taille
quit = new JButton("Quit"); // definition du bouton quit
quit.addActionListener(this); //
String str1 = "vfw:Video Blaster Webcam Go (VFW):1"; // les drivers de ma webcam
ml = new MediaLocator("vfw://0");
try
{
player = Manager.createRealizedPlayer(ml);
player.start();
Component comp;
if ((comp = player.getVisualComponent()) != null)
{
add(comp,BorderLayout.CENTER); // comp = la video a afficher
Graphics g = player.getVisualComponent().getGraphics(); // appel de la fonction qui dessine
aff( g ); // mon HDU (marche pas la supperposition)
}
add(quit,BorderLayout.SOUTH); // ajoute le bouton quit a la fenetre
}
catch (Exception e)
{
e.printStackTrace();
}
}
public static void aff(Graphics g) // methode qui dessine mon HUD
{ // avec les differents elements
Graphics2D g2 = (Graphics2D)g;
Font Arial= new Font("Arial",Font.PLAIN,25);
g2.setFont(Arial);
g2.setPaint(Color.green);
g2.drawString("Altitude : m" ,15,25);
g2.drawString("Vitesse : m/s",15,500);
g2.drawLine(0,300,800,300);
}
public static void main(String[] args)
{
Frame f = new Frame("H.U.D."); // titre de la fenetre
Hud cf = new Hud();
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
playerclose();
System.exit(0);}});
f.add("Center",cf); // positionnement de la cam
f.pack();
f.setSize(new Dimension(800,600)); //definiton de sa taille
f.setVisible(true);
}
public static void playerclose() // pour fermer le fenetre
{ // avec la croix
player.close(); // (il me semble!)
player.deallocate(); //
}
public void actionPerformed(ActionEvent e)
{
JComponent q = (JComponent) e.getSource();
if (q == quit) // pour fermer
{ //
playerclose(); // la fenetre avec
System.exit(0); // le bouton quit
}
}
} |
Partager