Charger une image, la modifier, puis l'enregistrer
Bonjour,
Voila je souhaite charger une image pour la couper en 2 et enregistrer ces 2 nouvelles images sur mon disque.
J'ai eut beau chercher, j'ai pas trouver de solutions.
Voila mon code pour l'instant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
ImageIcon image = new ImageIcon("src/img/explorer.jpg");
int width = image.getIconWidth();
int height = image.getIconHeight();
File fRes = new File("src/img/explorer1.jpg");
File fSource = new File("src/img/explorer.jpg");
BufferedImage img = null;
try {
//lecture de l'image source :
img = ImageIO.read(fSource);
} catch (Throwable ef) {}
int[] pixels = new int[width * height];
PixelGrabber pg = new PixelGrabber(img, 0, 0, width, height, pixels, 0, width);
try {
pg.grabPixels();
} catch (InterruptedException e) {
System.err.println("interrupted waiting for pixels!");
}
Toolkit tk = Toolkit.getDefaultToolkit();
Image img1 = tk.createImage(new MemoryImageSource(width,height,pixels,0,width));
Image image1 = new ImageIcon(img1).getImage();
BufferedImage bufferedImage = new BufferedImage(image1.getWidth(null),image1.getHeight(null),BufferedImage.TYPE_INT_RGB );
// sauvegarde dans l'image résultat
try {
ImageIO.write(bufferedImage, "jpg", fRes);
} catch (IOException e) {
e.printStackTrace();
} |
Dans cette exemple, je ne fais que recopier mon image, si deja j'arrive a faire ca, ca devrait pas etre trop dure de selectionner que la moitie de l'image avec PixelGrabber.
voila si quelqu'un a une idee..
Merci beaucoup,
Sylvain.