C# Bitmap转化为BitmapImage方法

时间:2021-10-12 06:43:48
public BitmapImage BitmapToBitmapImage(Bitmap bitmap)
        {
            Bitmap bitmapSource = new Bitmap(bitmap.Width,bitmap.Height);
            int i,j;
            for(i=0;i<bitmap.Width;i++)
              for (j = 0; j < bitmap.Height; j++)
              {
                  Color pixelColor = bitmap.GetPixel(i, j);
                  Color newColor = Color.FromArgb(pixelColor.R, pixelColor.G, pixelColor.B);
                  bitmapSource.SetPixel(i, j, newColor);
              }
            MemoryStream ms = new MemoryStream();
            bitmapSource.Save(ms, System.Drawing.Imaging.ImageFormat.Bmp);
            BitmapImage bitmapImage = new BitmapImage();
            bitmapImage.BeginInit();
            bitmapImage.StreamSource = new MemoryStream(ms.ToArray());
            bitmapImage.EndInit();

            return bitmapImage;
        }
Video.Source = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(Properties.Resources.looooog.GetHbitmap(), IntPtr.Zero, System.Windows.Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions());