2016-11-12 38 views
0

這段代碼提供了一個空的tiff文件,我不明白爲什麼。 g中的畫布顯示線條。Java,保存一個tiff文件,總是空的?

private BufferedImage bImage; 
Graphics2D g2d; 
public void paint(Graphics g) { 
    g2d = (Graphics2D)g; 
    bImage = new BufferedImage(sX, sY, BufferedImage.TYPE_INT_RGB); 
    g2d = bImage.createGraphics(); 
    g2d.drawLine(a,b,c,d); 
    g.drawLine(a,b,c,d); 
    try { ImageIO.write(bImage, "tiff", saveFile);}... 
} 

回答

1

嘗試繪製之前設置一個顏色:

g2d.setColor(Color.WHITE); 
+0

謝謝,不,它確實這樣做了.. –

0

我發現ImageIO.write(bImage, "tiff", saveFile);回報false

的Javadoc說:Returns : false if no appropriate writer is found.

問:什麼樣的手段沒有適當的作者發現了什麼?

+0

可能已經在這裏找到答案: –

+0

http://stackoverflow.com/questions/18956941/imageio-write-bmp-does-not-work –

+0

適用於bmp,而不是tif –

0

終於解決了這個問題。

1-安裝Java SE8

2-加載庫jai_imageio-1.1.jar在構建路徑