La conversion de transparents, gif, png, jpeg à l'aide de java

J'aimerais convertir en gif pour les images au format jpeg à l'aide de Java. Il fonctionne très bien pour la plupart des images, mais j'ai une simple image gif transparente:

Entrée image gif http://img292.imageshack.us/img292/2103/indexedtestal7.gif

[Dans le cas où l'image est manquant: c'est un cercle bleu avec des pixels transparents autour d'elle]

Quand je convertir cette image en utilisant le code suivant:

File file = new File("indexed_test.gif");
BufferedImage image = ImageIO.read(file);
File f = new File("indexed_test.jpg");
ImageIO.write(image, "jpg", f);

Ce code fonctionne sans jeter une Exception, mais les résultats d'un invalide image jpeg:

La conversion de transparents, gif, png, jpeg à l'aide de java

[Dans le cas où l'image est manquant: IE ne peut pas afficher les images au format jpeg, Firefox affiche l'image invalide couleurs.]

Je suis à l'aide de Java 1.5.

J'ai aussi essayé la conversion de l'échantillon gif png avec gimp et en utilisant le png comme une entrée pour le code Java. Le résultat est le même.

Est-ce un bug dans le JDK? Comment puis-je convertir des images correctement, de préférence sans les 3e partie les bibliothèques?

Mise à JOUR:

Réponses indiquent que la conversion en jpeg ne peut pas gérer la transparence correctement (je crois que c'est un bug) et de proposer une solution de contournement pour remplacer les pixels transparents de couleurs prédéfinies. Les deux méthodes proposées sont assez complexe, j'ai donc mis en place une plus simple (publierons comme réponse). J'accepte la première publication de réponse avec cette solution de contournement (par Markus). Je ne sais pas laquelle est la mieux. Je vais au plus simple encore, j'ai trouvé un gif où il ne fonctionne pas.

InformationsquelleAutor asalamon74 | 2009-01-21