Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

télécharger et sauvegarder des png transparents

3 réponses
Avatar
Alex
Bonjour,

Je me heurte à un léger problème, celui de télécharger et ensuite de
sauvegarder des image png avec transparence.

En fait je n'arrive pas à sauvegarder avec la transparence.

Voici mon code:

String url = "http://..../test.png";
URLConnection connection = new URL(url).openConnection();
Image image =
Toolkit.getDefaultToolkit().createImage((ImageProducer)connection.getContent());
ImageIO.write(toBufferedImage(image), extension, new
File(filename).getCanonicalFile())

avec la fonction:
private BufferedImage toBufferedImage(Image image) {
if( image instanceof BufferedImage ) {
return ((BufferedImage)image);
} else {
image = new ImageIcon(image).getImage();
BufferedImage bufferedImage = new BufferedImage(image.getWidth(null),
image.getHeight(null), BufferedImage.TYPE_INT_RGB );
Graphics g = bufferedImage.createGraphics();
g.drawImage(image,0,0,null);
g.dispose();
return (bufferedImage);
}
}

Si quelqu'un aurait une idée?

N'est il pas possible de sauvegarder directement le getContent() (ie la
flux de bits que me renvoie la requette http) sans avoir à le convertir
en image?

Merci d'avance,

--
Alex

3 réponses

Avatar
David JOURAND
N'est il pas possible de sauvegarder directement le getContent() (ie la
flux de bits que me renvoie la requette http) sans avoir à le convertir
en image?


InputStream is = connection.getInputStream(); ?

--
David Jourand

Avatar
Alex
N'est il pas possible de sauvegarder directement le getContent() (ie la
flux de bits que me renvoie la requette http) sans avoir à le convertir
en image?


InputStream is = connection.getInputStream(); ?



ok merci bien :)
ca marche nickel now

--
Alex


Avatar
TestMan
Bonjour,

Je suis pas sûr de ce que tu veux faire, mais pour tout le code que tu
as posté, le code suivant me parrait suffir ;-) :

BufferedImage image = ImageIO.read(url);
ImageIO.write(image, extension, file);

Vive Image IO :)

A+

TM

Bonjour,

Je me heurte à un léger problème, celui de télécharger et ensuite de
sauvegarder des image png avec transparence.

En fait je n'arrive pas à sauvegarder avec la transparence.

Voici mon code:

String url = "http://..../test.png";
URLConnection connection = new URL(url).openConnection();
Image image =
Toolkit.getDefaultToolkit().createImage((ImageProducer)connection.getContent());

ImageIO.write(toBufferedImage(image), extension, new
File(filename).getCanonicalFile())

avec la fonction:
private BufferedImage toBufferedImage(Image image) {
if( image instanceof BufferedImage ) {
return ((BufferedImage)image);
} else {
image = new ImageIcon(image).getImage();
BufferedImage bufferedImage = new
BufferedImage(image.getWidth(null), image.getHeight(null),
BufferedImage.TYPE_INT_RGB );
Graphics g = bufferedImage.createGraphics();
g.drawImage(image,0,0,null);
g.dispose();
return (bufferedImage);
}
}

Si quelqu'un aurait une idée?

N'est il pas possible de sauvegarder directement le getContent() (ie la
flux de bits que me renvoie la requette http) sans avoir à le convertir
en image?

Merci d'avance,