Afficher Image/BufferedImage en temps réel
Bonjour,
Je viens à vous parce que je suis face à un problème où mes connaissances en Java/Swing sont limités. Je développe actuellement une application qui récupère le flux de la webcam. Je cherche actuellement à afficher les images.
Première question. Quel est le meilleur composant pour afficher des images?
Deuxièmement. J'utilise actuellement un JPanel pour l'affichage:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| public class WebcamPanel extends JPanel {
private BufferedImage mCurrentImage = null;
public WebcamPanel() {
super();
setPreferredSize(new Dimension(Const.CAM_CAPTURE_WIDTH, Const.CAM_CAPTURE_HEIGHT));
}
public void updateImage(BufferedImage img) {
mCurrentImage = img;
repaint();
}
synchronized public void paint(Graphics g) {
if (mCurrentImage != null) {
g.drawImage(mCurrentImage,0,0,null);
}
}
} |
Dès que je reçois une image provenant de ma webcam, je fais appel à ma fonction pour updater l'image. Le problème avec ce code est que l'affichage n'est pas du tout fluide... Comment est-ce que je peux remédier à ce problème?
Merci d'avance