drawing.Image转换为System.Windows.Media.ImageSource即WPF中使用的图片Source

各种图片格式转换
1.WindowsForm中Image转换为System.Windows.Controls.Image转换

 /// <summary>
        /// 把DrawingImage转换为Controls使用的Iamge类
        /// </summary>
        /// <param name="gdiImg"></param>
        /// <returns></returns>
        private System.Windows.Controls.Image ConvertDrawingImageToWPFImage(System.Drawing.Image gdiImg)
        {
    
    


            System.Windows.Controls.Image img = new System.Windows.Controls.Image();

            //convert System.Drawing.Image to WPF image
            System.Drawing.Bitmap bmp = new System.Drawing.Bitmap(gdiImg);
            IntPtr hBitmap = bmp.GetHbitmap();
            System.Windows.Media.ImageSource WpfBitmap = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(hBitmap, IntPtr.Zero, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions());

            img.Source = WpfBitmap;
            img.Width = 500;
            img.Height = 600;
            img.Stretch = System.Windows.Media.Stretch.Fill;
            return img;
        }

 

 

2.Image转换为System.Windows.Media.ImageSource即WPF中使用的图片Source

   /// <summary>
        /// 把DrawingImage转换为System.Windows.Media.ImageSource WPF中使用的类中的Iamge类
        /// </summary>
        /// <param name="gdiImg"></param>
        /// <returns></returns>
        private System.Windows.Media.ImageSource ConvertDrawingImageToWPFImage(System.Drawing.Image gdiImg)
        {
    
    


            System.Windows.Controls.Image img = new System.Windows.Controls.Image();
            //convert System.Drawing.Image to WPF image
            System.Drawing.Bitmap bmp = new System.Drawing.Bitmap(gdiImg);
            IntPtr hBitmap = bmp.GetHbitmap();
            return System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(hBitmap, IntPtr.Zero, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions());
        }

猜你喜欢

转载自blog.csdn.net/BeanGo/article/details/128301593
今日推荐