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?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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?
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
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
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?
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
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 ;-) :
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,
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 ;-) :
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?
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?