Enregistrer image

Fermé
cha7ri Messages postés 205 Date d'inscription samedi 15 mars 2008 Statut Membre Dernière intervention 20 mars 2011 - 15 mars 2008 à 20:59
cha7ri Messages postés 205 Date d'inscription samedi 15 mars 2008 Statut Membre Dernière intervention 20 mars 2011 - 17 mars 2008 à 16:16
Bonjour,
j'ai un grand probléme au niveau de l'enregistrement de l'image
en fait, je veux distinguer entre enregistrer et enrgistrer sous,.....voila leurs codes:
code de enregistrer sous:
JFileChooser chooser1 = new JFileChooser();
chooser1.setCurrentDirectory(new File("."));
//defini tous les composants du JFileChooser
FileFilter bmp = new filtre("Images BMP",".bmp");
FileFilter gif = new filtre("Image GIF",".gif");
FileFilter png = new filtre("Image PNG",".png");
FileFilter jpeg = new filtre("Images JPEG",".jpg");
chooser1.addChoosableFileFilter(bmp);
chooser1.addChoosableFileFilter(gif);
chooser1.addChoosableFileFilter(png);
chooser1.addChoosableFileFilter(jpeg);
chooser1.setDialogTitle("Enregistrer en photo");
chooser1.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
int test = chooser1.showSaveDialog(this);
if (test == JFileChooser.APPROVE_OPTION) {
File fich1 = chooser1.getSelectedFile();
URL=fich1;


if (chooser1.getFileFilter()==bmp)
{
fich1 = new File(fich1.getPath() + ".bmp");
ext=".bmp";
}
else if (chooser1.getFileFilter()==jpeg)
{
fich1 = new File(fich1.getPath() + ".jpeg");
ext=".jpeg";
}
else if (chooser1.getFileFilter()==gif)
{
fich1 = new File(fich1.getPath() + ".gif");
ext=".gif";
}
else if (chooser1.getFileFilter()==png)
{
fich1 = new File(fich1.getPath() + ".png");
ext=".png";
}

//image en fonction du panel dessinable
BufferedImage image_save = new BufferedImage(im.getWidth(null),im.getHeight(null), BufferedImage.TYPE_BYTE_INDEXED);
Graphics2D graph = image_save.createGraphics();
panel.paintAll(graph);

//traitement de l'enregistrement en format d'image
try {
FileOutputStream fichier = new FileOutputStream(fich1);
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(fichier);
encoder.encode(image_save);
fichier.close();
Enregistrer.setEnabled(true);
B_Enregistrer.setEnabled(true);
this.setTitle("Taitement d'image-"+fich1.getName());
JOptionPane.showMessageDialog(this,"Enregistrement image:"+fich1.getPath(),"Enregistement",JOptionPane.INFORMATION_MESSAGE);
}catch(IOException io){
JOptionPane.showMessageDialog(this,"Problememe e/s");
}
}

code enregisetrer
URL=new File(URL.getPath()+ext);

BufferedImage image_save = new BufferedImage(im.getWidth(null),im.getHeight(null), BufferedImage.TYPE_BYTE_INDEXED);
Graphics2D graph = image_save.createGraphics();
panel.setSize(im.getWidth(null),im.getHeight(null));
panel.paintAll(graph);
validate();


//traitement de l'enregistrement en format d'image
try {
FileOutputStream fichier = new FileOutputStream(URL);
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(fichier);
encoder.encode(image_save);
fichier.close();
this.setTitle("Traitement d'image-"+URL.getName());
JOptionPane.showMessageDialog(this,"Enregistrement image:"+URL.getPath(),"Enregistement",JOptionPane.INFORMATION_MESSAGE);
}catch(IOException io){
JOptionPane.showMessageDialog(this,"Problememe e/s");
}

le probleme est que une fois que je clique sur enregistrer...lmage s'enregistre dans un autre fichier portant le nom.jpg.jpg c a dire que l'extension s'ajouter tjrs si je clique sur enrgistrer

si qlq a la solution de mon pbl......repond SVP
A voir également:

2 réponses

syrusthevirus Messages postés 182 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 1 avril 2010 14
15 mars 2008 à 21:06
xD , je suis plié en 4 là xDDDDDD
1
Bonjour,

URL=new File(URL.getPath()+ext);

URL.getPath() c'est le nom du fichier complet avec l'extesion , alors si tu rajoute ext forcement....

Salut.
1
cha7ri Messages postés 205 Date d'inscription samedi 15 mars 2008 Statut Membre Dernière intervention 20 mars 2011 29
17 mars 2008 à 16:16
j'ai pas bien compris votre réponse mais si j'acris
URL=new File(URL.getPath());
sans ext;l'image s'enregistre sans extension sous forme d'un fichier avec extension null
0