将java.awt.Image保存到磁盘

nxh*_*oaf 7 java decoder h.264

我有一个第三方库,它从视频流中生成java.awt.Image对象.(实际上,它最初用于解码.h264文件,然后显示在JFrame中解码的图像).

现在,我想使用该lib捕获流的几个图像并将它们保存到硬盘.那么,我该怎么做才能将这些java.awt.Image保存到文件中?

Fel*_*lix 7

ImageIO

类型可以是“jpg”、“png”(Java <1.6)或“gif”(Java 1.6+)。

要保存 ToolKitImage,您可以执行以下操作。

BufferedImage bufferedImage= new BufferedImage(toolkitImage.getWidth(), toolkitImage.getHeight(), BufferedImage.TYPE_INT_RGB);
image.getGraphics().drawImage(toolkitImage, 0, 0, null);
ImageIO.write(bufferedImage, "jpg", new File("C:\\myImage.jpg"));
Run Code Online (Sandbox Code Playgroud)


小智 5

public void savePic(Image image, String type, String dst){ 
    int width = image.getWidth(this); 
    int height = image.getHeight(this);
    BufferedImage bi = new BufferedImage(w, h, BufferedImage.TYPE_3BYTE_BGR);
    Graphics g = bi.getGraphics(); 
    try { 
        g.drawImage(image, 0, 0, null);
        ImageIO.write(bi, type, new File(dst)); 
    } catch (IOException e) { 
        // TODO Auto-generated catch block 
        e.printStackTrace(); 
    } 
}
Run Code Online (Sandbox Code Playgroud)


小智 2

请查看本教程:写入/保存图像

这是一项基本任务,ImageIO 库将帮助您轻松完成此任务。