2010-07-15 38 views
2

在我的程序中,我從面板生成PNG,但是我想擺脫此面板的邊框 ,並且要更專注於面板中的對象。爲此,我想擺脫png的周邊部分,只產生它的中心。我該怎麼做?在java中刪除PNG的一些部分

+1

你是如何生成PNG的?難道你不能在x和y軸上補償它,並且將高度和寬度減少兩倍這個偏移量? – 2010-07-15 12:43:39

+0

我正在使用這段代碼,我成功生成了png but.Now,我不包含在myclip中的部分看起來是黑色的。我想用與我構建的剪輯相同的大小獲取png。有可能嗎? BufferedImage圖像=新BufferedImage(寬度,高度, BufferedImage.TYPE_INT_RGB); Graphics2D g2 = image.createGraphics(); g2.clipRect((int)(unionOfAll.getX()),(int)(unionOfAll.getY()) ,(int)(unionOfAll.getWidth()),(int)(unionOfAll.getHeight())) ; drawPanel.paint(g2); g2.dispose(); ImageIO.write(image,「png」,new File(fileRealName +「.png」)); – gustavo 2010-07-16 14:59:43

回答

1

假設您已經將圖像加載到BufferedImage中(這似乎是這種情況),此代碼會將圖像從(x,y)裁剪爲(寬度,高度)。

image = image.getSubimage(x, y, width, height); 

然後保存爲正常。