C#读取DLL中的图片

有些时候,我们的图片资源保存到了DLL里面,那么,在应用程序中,如何读取出来呢?

其实比较简单,我们来用C#做个简单的模型,读取DLL中的图片。

新建一个类库项目,然后新建一个文件夹,保存我们的图片。如图:

然后,我们要把图片,嵌入到DLL里面去,操作如图:

选择嵌入的资源,然后开始写代码:

using System;

namespace Dll

{

    public class Class1

    {

        public void mydll()

        {

            this.GetType().Assembly.GetManifestResourceStream("Dll.image.test.jpg");

        }

      

        public System.IO.Stream ReturnStream()

        {

            return

                this.GetType().Assembly.GetManifestResourceStream

                ("Dll.image.test.jpg");

        }

    }

}

这样,我们的类库代码就写好了【编译后就把图片嵌入到DLL中了】,接下来就要读取其中的图片:

新建一个winapp项目,在窗体上随便拖拽一个picturebox控件用来显示图片;

然后引用我们刚才创建的Dll类库【项目->添加引用->项目引用->选择刚才创建的类库】;接下来,在winapp项目的窗体也就是form1的load事件里写下如下代码:

   Dll.Class1 ca = new Dll.Class1();

            pictureBox1.Image = Image.FromStream(ca.ReturnStream());

然后,编译,运行。结果如图所示:

OK了,读取图片没有任何问题。

在实际开发中尽量使用.net framework提供的类库来进行操作,要避免使用特定平台的API,保证程序的稳定以及移植扩展性。

posted on 2013-01-30 16:03  snet  阅读(751)  评论(0编辑  收藏  举报