2010-07-15 4 views
2

Dans mon programme, je produis un png à partir d'un panneau, mais je veux me débarrasser de la boîte de délimitation de ce panneau et d'être plus concentré sur l'objet dans le panneau .Pour le faire, je veux me débarrasser des parties périphériques de png, et produire seulement le centre de celui-ci.Comment puis-je faire cela?se débarrasser de certaines parties de png dans java

+1

comment générez-vous le format PNG? Vous ne pouvez pas juste le compenser dans les axes x et y, et réduire la hauteur et la largeur par deux fois ce décalage? –

+0

J'utilise ce morceau de code, j'ai réussi à produire le png but.Maintenant, les parties que je n'inclue pas dans myclip semblent noires.Je veux obtenir un png dans la même taille avec le clip que je construis.how can it être possible ? BufferedImage image = new BufferedImage (largeur, hauteur, 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", nouveau fichier (nomFichier + ".png")); – gustavo

Répondre

1

En supposant que votre image soit déjà chargée dans une image tamponnée (ce qui semble être le cas), ce code recadre l'image de (x, y) à (largeur, hauteur).

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

Ensuite, sauvegardez comme d'habitude.

Questions connexes