方式一:
/// <summary> /// 从程序集中加载图片 /// </summary> /// <param name="imagePathName">图片路径(该图片必须是嵌入的资源)</param> /// <returns>Bitmap 格式图片</returns> public Bitmap GetIcon(string imagePathName) { Bitmap b = null; try { Assembly asm1 = Assembly.GetExecutingAssembly(); string name = asm1.GetName().Name; asm1.GetManifestResourceStream(imagePathName); Stream imageStream = asm1.GetManifestResourceStream(imagePathName); if (imageStream != null) { b = new Bitmap(Image.FromStream(imageStream)); b.MakeTransparent(); } } catch (Exception e) { throw new Exception(e.Message); } return b; }
小注:
1、imagePathName= Assembly.GetExecutingAssembly().GetName().Name.ToString()+ ".Resources" + ".SelectCate.png";
2、图片要做为项目资源参与编译如下图:
方式二、
/// <summary> /// 根据图片路径加载图片 /// </summary> /// <param name="imagePathName">图片路径</param> /// <returns>Bitmap格式图片</returns> public Bitmap GetToolIcon(string imagePathName) { Bitmap b = null; if (!File.Exists(imagePathName)) { MessageBox.Show("该路径下:" + imagePathName.ToString() + "!文件找不到"); return b; } try { FileStream fs = new FileStream(imagePathName, FileMode.Open, FileAccess.Read); b = (Bitmap)System.Drawing.Bitmap.FromStream(fs); } catch (Exception e) { throw new Exception(e.Message); } return b; }