/// <summary> /// 读取符号(图片资源库中的文件) /// </summary> /// <param name="symbolName"></param> /// <returns></returns> public static ImageBrush GetImagebrush(string ImageName) { ImageBrush imageBrush = new ImageBrush(); System.Resources.ResourceManager rm = ImageLibrary.Properties.Resources.ResourceManager; System.Drawing.Bitmap b = (System.Drawing.Bitmap)rm.GetObject(ImageName); imageBrush.ImageSource = ToWpfBitmap(b); return imageBrush; }
public static BitmapSource ToWpfBitmap(Bitmap bitmap) { using (MemoryStream stream = new MemoryStream()) { //注意:转换的图片的原始格式ImageFormat设为BMP、JPG、PNG等 bitmap.Save(stream, ImageFormat.Png); stream.Position = 0; BitmapImage result = new BitmapImage(); result.BeginInit(); // According to MSDN, "The default OnDemand cache option retains access to the stream until the image is needed." // Force the bitmap to load right now so we can dispose the stream. result.CacheOption = BitmapCacheOption.OnLoad; result.StreamSource = stream; result.EndInit(); result.Freeze(); return result; } }
调用方法: Rectangle1.Fill=GetImagebrush(ImageName); 注意转换的图片的原始格式ImageFormat必须设置正确。如原图片为PNG格式,调用时设为BMP格式时会失真。