Découper un lot d'images jpeg
Bonjour j'essayes de decouper une serie d'images jpeg avec le programme ci dessous
Le problème que je rencontre est qu'après éxécution, mon programme, lève une exception : unsupported image type....
Puis dans mon dossier de destination une seule partie de ma liste d'images originale est découpée.
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 36 37 38 39 40 41
| import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Arrays;
import javax.imageio.ImageIO;
public class ImageCut
{
public static void main(String[] args) throws IOException
{
MyComparator comparator = new MyComparator();
BufferedImage image;
String source = "images/anciennesImages/";
File file = new File(source);
// Je cree un tableau avec les element de mon dossier "file"
File[] imageList = file.listFiles();
// Je trie les noms des images dans l'ordre alpha
Arrays.sort(imageList, comparator);
//Boucle pour passer chaque element de mon tableau et de le traiter
for ( File f : imageList)
{
// je charge chaque image
FileInputStream input = new FileInputStream(f.getPath());
image = ImageIO.read(input);
// je recupere une vue de la zone d'image m'interressant
image = image.getSubimage(0, 0, image.getWidth(), image.getHeight()/2);
// je cree une nouvelle image au format jpeg dans le nouveau dossier
ImageIO.write(image, "jpg", new File("/images/nouvellesImages/"+f.getName()));;
}
}
} |
Je ne comprends pas pourquoi seulement certaines images sont traitées alors qu'elles sont toutes du même format ( jpeg).
Si quelqu'un peut m'aider a comprendre ce qui ne va pas.
Merci