有我的代碼。我嘗試分析數據並創建圖形並保存到本地驅動程序。該程序現在工作正常。但是我發現,程序全部完成後,jpg文件只能保存到本地驅動器。但是,數據太多,需要創建太多圖形。整個程序可能會運行幾個小時。我只是想知道我能否實時保存jpg?所以我可以查看它剛剛創建的所有圖。或者,如果我需要在完成所有程序之前停止該程序,我不必放棄所有圖表。使用ImageIO.write Java實時保存jpg
謝謝
protected void paintComponent(Graphics g) {
System.out.println("go");
super.paintComponent(g);
BufferedImage jpg = new BufferedImage(1040, 400,
BufferedImage.TYPE_INT_RGB);
Graphics2D g2 = jpg.createGraphics();
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
int w = getWidth();
int h = getHeight();
double total=0;
// Draw ordinate.
g2.draw(new Line2D.Double(SPACE, SPACE, SPACE, h-SPACE));
// Draw abcissa.
g2.draw(new Line2D.Double(SPACE, h/2, w-SPACE, h/2));
double xInc = (double)(w - 2*SPACE)/(data.size()-1);
double scale = (double)(h/2 - SPACE*3)/getMax();
// Mark data points.
g2.setPaint(Color.red);
for(int i = 0; i < data.size(); i++) {
double x = SPACE + i*xInc;
double y;
if(data.get(i)!=0){
y= h/2 - SPACE - scale*data.get(i);
total = total + data.get(i);
}else{
y = h/2;
}
g2.fill(new Ellipse2D.Double(x, y-1, 4, 4));
}
try {
ImageIO.write(jpg, "JPEG", new File("111\\"+total/data.size() + ".jpg"));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
我的意思是,有沒有讓我創建文件時,它做的,而不是在存儲器中存儲並等待程序完成的任何功能,我可以使用像file.close()。謝謝 – IanIsAFK