使用独立的dll来存储图片,可以把我们要用的图片文件全放在一个dll当中,这样工程当中就只没有那么多的图片文件了。
1.在解决方案里添加一个新的class工程picresource,然后把图片文件夹skin复制到工程目录下,并把skin包含在工程中;
2.在刚才新建的工程里选中skin文件夹下的所有图片,在property中改变 build action 属性为 embedded resource;
3.编译工程会产生一个picresource.dll
4.在解决方案里添加一个测试用的windowsapplication工程winappdemo1;
把刚才得到的picresource.dll复制到winappdemo1\bin\debug下;
5.在测试工程里的form上添加一个button一个picturebox
资源路径:
<namespace>.<subfolders>.<image name>.<extension>(<命名空间>.<文件夹>.<图片名>.<后缀>)
代码:
private void button1_click(object sender, eventargs e)
{
assembly myassembly = assembly.loadfrom("picresource.dll");
stream mystream = myassembly.getmanifestresourcestream("picresource.skin.right.bmp");
bitmap bmp = new bitmap( mystream );
picturebox1.image = bmp;
}
如果点完button1在picturebox里能看到图片,ok,成功了
1.在解决方案里添加一个新的class工程picresource,然后把图片文件夹skin复制到工程目录下,并把skin包含在工程中;
2.在刚才新建的工程里选中skin文件夹下的所有图片,在property中改变 build action 属性为 embedded resource;
3.编译工程会产生一个picresource.dll
4.在解决方案里添加一个测试用的windowsapplication工程winappdemo1;
把刚才得到的picresource.dll复制到winappdemo1\bin\debug下;
5.在测试工程里的form上添加一个button一个picturebox
资源路径:
<namespace>.<subfolders>.<image name>.<extension>(<命名空间>.<文件夹>.<图片名>.<后缀>)
代码:
private void button1_click(object sender, eventargs e)
{
assembly myassembly = assembly.loadfrom("picresource.dll");
stream mystream = myassembly.getmanifestresourcestream("picresource.skin.right.bmp");
bitmap bmp = new bitmap( mystream );
picturebox1.image = bmp;
}
如果点完button1在picturebox里能看到图片,ok,成功了