2010-07-15 3 views
2

В моей программе я создаю png с панели, но я хочу избавиться от ограничивающей рамки этой панели и быть более сфокусированным на объекте на панели Чтобы сделать это, я хочу избавиться от периферийных частей png и создать только его центр. Как я могу это сделать?избавиться от некоторых частей png в java

+1

как вы создаете PNG? Не можете ли вы просто смещать его по оси x и y и уменьшить высоту и ширину вдвое больше этого смещения? –

+0

Я использую этот фрагмент кода, я преуспел в создании png but.Now, части, которые я не включаю в myclip, кажутся черными. Я хочу получить png в том же размере с клипом, который я конструирую. быть возможно? BufferedImage image = new 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 (изображение, "png", новый файл (fileRealName + ".png")); – gustavo

ответ

1

Предполагая, что вы уже загрузили изображение в BufferedImage (это похоже на случай), этот код обрезает изображение с (x, y) до (ширина, высота).

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

Сохраните как обычно.