Hallo,
ich wollte ein Bild mit einer Webcam machen und anschließend in eine Datei schreiben.
Das Problem ist, das es eine Fehlermeldung gibt und anschließend mein PC abstürzt.
Der Quelltext:
Dann kommt die Fehlermeldung
Zeile 45 ist
Edit:
Problem gelöst
hat gefehlt
Ich hoffe ihr könnt mir helfen,
MfG $name
ich wollte ein Bild mit einer Webcam machen und anschließend in eine Datei schreiben.
Das Problem ist, das es eine Fehlermeldung gibt und anschließend mein PC abstürzt.
Der Quelltext:
Code:
import java.io.*;
import java.util.*;
import java.awt.*;
import java.awt.image.*;
import javax.imageio.*;
import javax.media.*;
import javax.media.control.*;
import javax.media.format.*;
import javax.media.util.*;
import com.sun.image.codec.jpeg.*;
import javax.media.format.RGBFormat;
//import com.sun.media.protocol.v4l.DataSource;
import java.awt.Color;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.media.Buffer;
import javax.imageio.ImageIO;
class Main
{
@SuppressWarnings("restriction")
public static void main(String[] args) throws Exception
{
CaptureDeviceInfo deviceInfo = CaptureDeviceManager.getDevice("vfw:Microsoft WDM Image Capture (Win32):0");
if(deviceInfo == null)
{
System.out.println("no device found");
}
System.out.println(deviceInfo);
Player player = Manager.createRealizedPlayer(deviceInfo.getLocator());
player.start();
FrameGrabbingControl frameGrabber = (FrameGrabbingControl)player.getControl("javax.media.control.FrameGrabbingControl");
Buffer buf = frameGrabber.grabFrame();
Image img = (new BufferToImage((VideoFormat)buf.getFormat()).createImage(buf));
ImageIO.write((RenderedImage)img, "png", new File("test.png"));
player.close();
player.deallocate();
}
}
Dann kommt die Fehlermeldung
Code:
Exception in thread "main" java.lang.IllegalArgumentException: image == null!
at javax.imageio.ImageTypeSpecifier.createFromRenderedImage(Unknown Source)
at javax.imageio.ImageIO.getWriter(Unknown Source)
at javax.imageio.ImageIO.write(Unknown Source)
at game.Main.main(Main.java:45)
Zeile 45 ist
Code:
ImageIO.write((RenderedImage)img, "png", new File("test.png"));
Edit:
Problem gelöst
Code:
Thread.sleep(2500);
Ich hoffe ihr könnt mir helfen,
MfG $name
Zuletzt bearbeitet: