Ombitious_Developper
Messages postés2333Date d'inscriptionsamedi 28 février 2004StatutMembreDernière intervention26 juillet 201339 2 janv. 2007 à 16:17
Salut:
Tu dois convertir ton objet Image en un objet BufferedImage.
Puis utiliser la méthode write de la classe javax.imageio.ImageIO
File f = new File ("save.jpg");
try {
ImageIO.write (bufferedImage, "jpg", f);
}
catch (IOException e) {
}
Ombitious_Developper
Messages postés2333Date d'inscriptionsamedi 28 février 2004StatutMembreDernière intervention26 juillet 201339 2 janv. 2007 à 22:50
Salut:
(Solution de twints)
Pour convetir une image vers un objet BufferedImage tu peux faire (solution complexe mais qui gère casi tout):
public BufferedImage createBufferedImage(Image image) {
if(image == null) return null;
if (image instanceof BufferedImage) return (BufferedImage) image;
image = new ImageIcon(image).getImage();
boolean hasAlpha = hasAlpha(image);
BufferedImage bimage = null;
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
try {
int transparency = Transparency.OPAQUE;
if (hasAlpha)
transparency = Transparency.BITMASK;
GraphicsDevice gs = ge.getDefaultScreenDevice();
GraphicsConfiguration gc = gs.getDefaultConfiguration();
bimage = gc.createCompatibleImage(image.getWidth(null), image.getHeight(null), transparency);
} catch (HeadlessException e) {
// erreur pas d'ecran
}
if (bimage == null) {
int type = BufferedImage.TYPE_INT_RGB;
if (hasAlpha)
type = BufferedImage.TYPE_INT_ARGB;
bimage = new BufferedImage(image.getWidth(null), image.getHeight(null), type);
}
Graphics g = bimage.createGraphics();
g.drawImage(image, 0, 0, null);
g.dispose();
return bimage;
}