Merci de ta réponse, j'ai intégré ta méthode dans mon programme mais j'ai toujours ce problème de nullPointeurExeption sur mon image dès que je fais une opération dessu.
Mon code reste le même
Capture:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| public BufferedImage capture()
{
System.out.print("Capture\n");
// Grab a frame
FrameGrabbingControl fgc = (FrameGrabbingControl)
player.getControl("javax.media.control.FrameGrabbingControl");
buf = fgc.grabFrame();
// Convert it to an image
btoi = new BufferToImage((VideoFormat)buf.getFormat());
img = btoi.createImage(buf);
//on place l'image dans le panel
imgpanel.setImage(img);
//On transforme l'image en buffer
BufferedImage im = toBufferedImage(img);
return im;
} |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| BufferedImage toBufferedImage(Image image) {
/** On test si l'image n'est pas déja une instance de BufferedImage */
if( image instanceof BufferedImage ) {
return( (BufferedImage)image );
} else {
/** On s'assure que l'image est complètement chargée */
image = new ImageIcon(image).getImage();
/** On crée la nouvelle image */
BufferedImage bufferedImage = new BufferedImage(
image.getWidth(null),
image.getHeight(null),
BufferedImage.TYPE_INT_RGB );
Graphics g = bufferedImage.createGraphics();
g.drawImage(image,0,0,null);
g.dispose();
return( bufferedImage );
} |
l'erreur est à la ligne :
image = new ImageIcon(image).getImage();
Je vous remercie d'avance
Partager