Je programme par WPF (C#) pour le traitement d'image (en emgu cv). Dans mon application, j'ouvre une image à l'aide de ces codes:Redimensionnement d'image indésirable dans Bitmap à ImageSource
OpenFileDialog d = new OpenFileDialog();
if(d.ShowDialog() == true)
{
Bitmap b = new Bitmap(d.FileName);
img1.Source = Util.Convert(b);
}
-je utiliser les codes ci-dessous pour convertir Bitmap
-ImageSource
et vice versa:
public static Bitmap ImageSourceToBitmap(ImageSource imageSource)
{
BitmapSource bitmapSource = (BitmapSource)imageSource;
MemoryStream mse = new MemoryStream();
BmpBitmapEncoder encoder = new BmpBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create(bitmapSource));
encoder.Save(mse);
System.Drawing.Bitmap bitmap = new System.Drawing.Bitmap(mse);
return bitmap;
}
public static BitmapImage Convert(Bitmap src)
{
MemoryStream ms = new MemoryStream();
((System.Drawing.Bitmap)src).Save(ms, System.Drawing.Imaging.ImageFormat.Png);
BitmapImage image = new BitmapImage();
image.BeginInit();
ms.Seek(0, SeekOrigin.Begin);
image.StreamSource = ms;
image.EndInit();
return image;
}
Taille de l'image change (un comportement étrange est s'est produite sur ma conversion) quand je l'utilise à partir d'un bouton. l'événement de code du bouton est:
Image<Gray, byte> im = new Image<Gray, byte>(Util.ImageSourceToBitmap(img1.Source));
im._EqualizeHist();
img1.Source = Util.Convert(im.Bitmap);
J'ai également défini stretch = None
.
quel est le problème?