La conversion de l'Image bitmap tourne fond noir
J'ai besoin de convertir une Image bitmap.
d'abord un gif a été lu dans les octets et puis converti en une Image.
Mais quand j'essaie de convertir l'image un peu à la carte, le graphique de l'affichage dans ma picturebox a un fond noir quand il a utilisé pour être blanc.
Voici le code:
var image = (System.Drawing.Image)value;
//Winforms Image we want to get the WPF Image from...
var bitmap = new System.Windows.Media.Imaging.BitmapImage();
bitmap.BeginInit();
MemoryStream memoryStream = new MemoryStream();
//Save to a memory stream...
image.Save(memoryStream, ImageFormat.Bmp);
//Rewind the stream...
memoryStream.Seek(0, System.IO.SeekOrigin.Begin);
bitmap.StreamSource = memoryStream;
bitmap.EndInit();
return bitmap;
Peut-on expliquer pourquoi le fond est noir va et comment je peux arrêter de faire cela.
Grâce
OriginalL'auteur SetiSeeker | 2010-11-01
Vous devez vous connecter pour publier un commentaire.
Ne pas enregistrer en tant que fichier bitmap. Le format de fichier ne prend pas en charge la transparence, de sorte que l'image sera enregistrée sans transparence.
Vous pouvez utiliser le format de fichier PNG à la place. Qui permettra de préserver la transparence.
Si vous en avez vraiment besoin d'utiliser le format de fichier bitmap, vous devez le rendre non-transparent en premier. Créer une nouvelle image de la même taille, utilisez la
Graphics.FromImage
méthode pour obtenir un objet graphique pour dessiner sur l'image, utilisez leClear
méthode pour remplir avec la couleur d'arrière-plan que vous souhaitez, utilisez laDrawImage
méthode pour dessiner votre image sur le dessus de l'arrière-plan, puis enregistrer l'image bitmap.A bien fonctionné pour moi aussi. Theres un peu de code montrant cette solution ici: stackoverflow.com/questions/6513633/...
Mais BMP prend en charge la transparence n'est-ce pas?
OriginalL'auteur Guffa