OutputStream

cs_djaouida27 Messages postés 22 Date d'inscription mardi 4 mars 2008 Statut Membre Dernière intervention 12 juillet 2008 - 31 mai 2008 à 11:09
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 - 31 mai 2008 à 16:54
salut !
j'ai un pb de Bufferedouputstream, j'ai decoupe une image en 4 morceaux et je veux enregistrer chaque portion dans un fichier image, pour cela j'ai utilisé Bufferedoutputstream qui m'a cree un fichier image vide, mon pb est que je sais pas comment lier ce fichier avec mon image qui se troouve dans un buffer. j'ai essaye avec inputsream et ByteArrayOutputsream  mais aucune resultat.

1 réponse

Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
31 mai 2008 à 16:54
Salut:

Ici, j'ai supposé que tu es en train de manipuler un objet BufferedImage.

public class BufferedImageSplitter {

    public static BufferedImage[] split(BufferedImage bi) {
        BufferedImage[] bis = new BufferedImage[4];
        for (int i = 0; i < 4; ++i) {
            int w = bi.getWidth()/2;
            int h = bi.getHeight()/2;
            int x = w*(i%2);
            int y = h*(i/2);
            bis[i] = bi.getSubimage(x, y, w, h);
        }
        return bis;
    }
   
    public static void saveImage(BufferedImage bi,
                                                          String filename, String format) throws IOException{
        ImageIO.write(bi, format, new File(filename));
    }
   
    public static void main(String[] args) {
        try {
            BufferedImage bi = ImageIO.read(new File("image.jpg"));
            BufferedImage[] bis = split(bi);
            for (int i = 0; i < bis.length; ++i) {
                saveImage(bis[i], "img" + i + ".jpg", "jpg");
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
0
Rejoignez-nous