2011-04-29 98 views
9

我對一些refernce創建一個在線圖片編輯tool.Looking如何添加與右side.For例如白色空間中的圖像看到這個圖像enter image description hereJava的填充圖像

回答

9

假設您想從現有圖像創建一個新圖像,其中新圖像的左右兩側有空白區域?

假設未填充圖像是一個BufferedImage並被稱爲'圖像'。假設你想要的每一邊的空白量是'w'。你要做的是創建一個新的BufferedImage比原來更寬,然後畫整個事情白色,最後得出在它上面的小圖像:

BufferedImage newImage = new BufferedImage(image.getWidth()+2*w, image.getHeight(), image.getType()); 

Graphics g = newImage.getGraphics(); 

g.setColor(Color.white); 
g.fillRect(0,0,image.getWidth()+2*w,image.getHeight()); 
g.drawImage(image, w, 0, null); 
g.dispose(); 
2

工作創造一個新的BufferedImage對象合適的大小;使用Graphics.fillRect()將它塗成白色;用drawImage()將圖像繪製到左上角;然後保存你的新圖像。

3

若有人在類似的問題,我會明確推薦imgScalr。您可以用字面上的一行添加填充imageSource= Scalr.pad(imageSource,pad,Color.White);

+0

謝謝你的提示! – narzero 2016-02-27 16:40:48

+1

imgScalr似乎是一個很好的庫,但我沒有看到任何方式只填充2個邊界(即左右側);填充總是添加到所有4個邊界。當然,你可以裁剪後從上下邊框刪除填充,但這不是很乾淨和可讀。 – 2017-08-16 12:43:01