[英]Save java.awt.Image to disk
我有一個第三方庫,它從視頻流中生成java.awt.Image對象。 (實際上,它最初用於解碼.h264文件,然后顯示在JFrame中解碼的圖像)。
現在,我想使用該lib捕獲流的幾個圖像並將它們保存到硬盤。 那么,我該怎么做才能將這些java.awt.Image保存到文件中?
類型可以是“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"));
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();
}
}
請學習本教程: 編寫/保存圖像
這是一項基本任務,ImageIO lib可以幫助您輕松實現這一目標。
就像是;
Image img = /* your image */
BufferedImage bi = (BufferedImage)img;
File f = new File("./output.png");
ImageIO.write(bi, "png", f);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.