在C#中如何使用资源的方法

总结一个在C#中如何使用资源的方法:
一:使用本地文件
1、将本地要加入的资源文本(视频,图片,文本或其它)加入项目,比如我们现在加入一个up.bmp的图片到项目中,且放在文件夹Resources下面,
2、将up.bmp的生成操作设置为"嵌入的资源"
3、读取资源:
Assembly assembly = Assembly.GetEntryAssembly();
//不知为什么,上面的有时候不行,可以这样写: Assembly assembly = this.GetType().Assembly;
System.IO.Stream stream = assembly.GetManifestResourceStream("OutlookBar.Resources.up.bmp");
//OutlookBar表示命名空间,Resources表示文件夹名称;
//如查直接放在项目的根目录下,则写为: assembly.GetManifestResourceStream("OutlookBar.up.bmp");
Bitmap upImage = (Bitmap)Image.FromStream(stream);

第二种方法:新建一个.resx文件(TestProject.resx),直接加入up.bmp文件,
读取方法: Bitmap upImage = TestProject.up;

第三种方法:单独建一个资源文件来存储up.bmp文件

1:将写入:
if (!File.Exists("TestProject.resources"))
File.Create("TestProject.resources").Dispose();

using (IResourceWriter rw = new ResourceWriter("TestProject.resources"))
{
Image img = Image.FromFile(@"D:\up.bmp");
rw.AddResource("up.bmp", img);
rw.Close();
}

2、读取文件
using (ResourceSet rs = new ResourceSet("TestProject.resources"))
{
var image = (Bitmap)rs.GetObject("down.bmp");
pictureBox1.Image = image;
rs.Close();
}

NET的资源并不限于.resx文件,可以采用任意存储形式
:具体见 http://www.cnblogs.com/artech/archive/2010/12/16/Reource_framewok_01.html

时间: 2024-12-25 18:47:19

在C#中如何使用资源的方法的相关文章

SOAPUI中的REST资源和方法

1. 添加REST服务.源和方法 一个REST服务包含任意数量相应的路径的可用源. 资源本身可以有尽可能多的子资源;子资源路径和所有的父路径链接起来. 首先创建一个新的REST服务在您的项目. 在导航器中右键单击您的项目并选择New URI的REST服务: 指定以下URL Google地图API在新的REST服务对话框:( http://maps.googleapis.com/maps/api/geocode/xml?address=Rio&sensor=false) 它会自动填充创建服务所需的

VC++中复制对话框资源 之较好方法之一

资源对话框的编写有时候较为麻烦,这里我成功实现了这个方法的可用性,具体如下: 碰到模块移植问题了,自己做的对话框类(继承于CDialog)要移植到目标工程中.在网上搜了几个帖子发现都说的很生涩. 问题:把一个MFC SDI工程中的一个对话框资源和类拷贝到另一个MFC SDI中. 1.在VC2012中打开老的工程,在工作区Resource标签页中选中Dialog文件夹下的资源文件(就是双击后会出现编辑窗口界面的那个东西),按Ctrl+C(Edit->Copy也一样). 2.关闭当前工程,注意不要关

angular学习笔记(二十八-附1)-$resource中的资源的方法

通过$resource获取到的资源,或者是通过$resource实例化的资源,资源本身就拥有了一些方法,比如$save,可以直接调用来保存该资源: 比如有一个$resource创建的服务: var service = angular.module('myRecipe.service',['ngResource']); service.factory('Recipe',['$resource',function($resource){ return $resource('/recipe/:id',

Cocos2d-JS中使用CocosStudio资源——关卡选择界面

在本篇博客中,我们将通过一个在Cocos2d-JS中使用从CocosStudio导出的关卡选择界面资源的例子,来简要介绍以下内容:Button控件,Text控件,PageView控件,即翻页容器的使用. 一.CocosStudio准备 第一步:从官网下载相应的示例,LevelSelection.效果图如下: 第二步:修改其中的一些控件的名称,方便寻找获取,如: 由于官网给的例子中的控件名字有的较复杂,所以可以按照自己的想法进行修改. 第三步:发布资源.注意发布设置中应该将数据格式改为JSON格式

Android插件化(三)加载插件apk中的Resource资源

Android加载插件apk中的Resource资源 简介 如何加载未安装apk中的资源文件呢?我们从android.content.res.AssetManager.java的源码中发现,它有一个私有方法addAssetPath,只需要将apk的路径作为参数传入,我们就可以获得对应的AssetsManager对象,然后我们就可以使用AssetsManager对象,创建一个Resources对象,然后就可以从Resource对象中访问apk中的资源了.总结如下: 1.新建一个AssetManag

.net中对象占用资源的回收

一,使用Finalizer析构器 1,使用了Finalizer析构器的对象如何被回收? 在类中定义了析构器的对象将会被移动到一个专门的队列中,这个队列将作为它的应用程序根,而使队列中的对象存活的更久一点,在对象上面调用完析构函数后,对象才会从队列中清理掉. 2,使用示例 <span style="font-family:Microsoft YaHei;"> class Program { static void Main(string[] args) { Cup cup =

资源搜索方法总结

你是否买了一本书之后发现这本书不适合自己看? 你是否还在一趟趟往图书馆跑,却觉得图书馆过时的资料无法满足自己的学习需要? 你是否想学技术却发现网络上的教程零零散散? 你是否想找书学习却因为经济上的拮据而放弃买书? 如果是,那么这篇文章会帮助你更方便地在网络上搜寻自己需要的资源. 网上有的搜索技巧我就不多说了,大家自行搜“google搜索技巧”就能看到 下面我要说的是一些比较实用的搜索技巧.能够帮助你找到更多有用的东西. 1.后缀名找资源 如果你想找下载的资源,最简单直接的方法是直接加上文件类型的

QT笔记之VS2010 Qt中导入qrc资源文件

转载1:http://qimo601.iteye.com/blog/1404693 转载2:http://blog.sina.com.cn/s/blog_92cde3060101lobm.html 转载3:http://www.devbean.net/2012/08/qt-study-road-2-resource-files/ 刚开始自学QT,好多东西不是很明白,从网上搜出来一些资料,先记录下来,以方便以后学习.习惯了使用VS进行写项目,所以选择下载Qt5.2.Qt插件,在给窗口和控件添加背景

在Unity3d中解析Lua脚本的方法

由于近期项目中提出了热更新的需求,因此本周末在Lua的陪伴下度过.对Lua与Unity3d的搭配使用,仅仅达到了一个初窥门径的程度,记录一二于此.水平有限,欢迎批评指正. 网络上关于Lua脚本和Unity3d的配合使用的资料不多,例子工程大多相同.大概了解到针对性的插件有uLua.UniLua.KopiLua三种.试用了前两种,抛开效率与安全性不说,感觉uLua试用起来比较简单,本文只介绍uLua的使用步骤. uLua的原理是在Unity3d中解析字符串形式的Lua脚本,让Lua与C#相互传递参