2010-09-02 40 views
1

我試圖創建一個程序,生成圖像作爲多屏幕背景使用,我這樣做的目標是在Windows(在我的情況下,7,以便基本上我可以讓圖像更改沒有看到兩個不同的屏幕相同的圖像)使用java的圖像處理

在我的計劃,我讀多個圖像輸入文件並將它們編譯成是桌面(包括黑色區域的總規模沒有看到屏幕)

單個輸出圖像

我的問題是,什麼類/方法很適合在java中裁剪/調整大小/粘貼到新圖像中,因爲我遇到了很多圖像處理類,它們似乎只做一件小事。

我不會修改調整大小或裁剪之外的任何圖像,並將其放入新(初始爲空白)圖像中的某個位置。

可以提供代碼,因爲我打算在稍後的時間點發布代碼,以供願意/需要的人使用。

非常感謝您,如果這個問題已經得到解答,我的道歉,但我有一個環顧四周。

+0

的[可能重複的是什麼最好的java圖像處理庫/方法?](http://stackoverflow.com/questions/603283/what-is-the-best-java-image-processing-library-approach) – ripper234 2011-11-28 15:45:16

回答

3

我不知道這是不是最好的方法,但它是很容易的:

// load an image 
Image image = javax.imageio.ImageIO.read(new File("someimage.png"); 
// resize it 
image = image.getScaledInstance(100, 100, Image.SCALE_SMOOTH); 
// create a new image to render to 
BufferedImage newimg = new BufferedImage(200,100,BufferedImage.TYPE_INT_ARGB); 
// get graphics to draw.. 
Graphics2D graphics =newimg.createGraphics(); 
//draw the other image on it 
graphics.drawImage(image,0,0,null); 
graphics.drawImage(image,100,0,null); 
graphics.fillOval(20,20,40,40); //making it a bit ugly ;) 
//export the new image 
ImageIO.write(newimg,"png",new File("output.png")); 
//done! 

爲簡單起見我放棄了所有的檢查,異常處理等

+0

我想我可以用這個作爲一個指導,非常感謝! – 2010-09-02 19:51:46