J’utilise System.Drawing.Image dans .Net pour effectuer une conversion simple de png en jpeg. J’utilise simplement ces deux lignes de code:
Image img = Image.FromFile(filename); img.Save(newFilename, System.Drawing.Imaging.ImageFormat.Jpeg);
Cela fonctionne bien sauf lorsque les fichiers png contiennent de la transparence due au canal alpha. Dans ce cas, le JPEG converti a un fond noir. Est-il possible de rendre l’arrière-plan blanc à la place?
// Assumes myImage is the PNG you are converting using (var b = new Bitmap(myImage.Width, myImage.Height)) { b.SetResolution(myImage.HorizontalResolution, myImage.VerticalResolution); using (var g = Graphics.FromImage(b)) { g.Clear(Color.White); g.DrawImageUnscaled(myImage, 0, 0); } // Now save b as a JPEG like you normally would }