C# - 将数据(图片)集成到.exe中

时间:2011-01-17 18:02:13

标签: c# visual-studio

这是我的第一个问题。

我通过Visual Studio C#制作了一个关于199个世界各州的小测验项目。 因此,我收集了每个国家的所有旗帜并将它们放入一个文件夹中 - 你可以想象我收集了很多。

要运行我当前的项目,我需要包含所有这些.gif图像的文件夹 - 否则启动将以致命错误结束。 : - (

我的问题是,是否可以将图像集成到我的.exe文件中,以便我可以在没有那个令人讨厌的文件夹的情况下运行它。 (对于包含更多内容的未来项目也很重要!)

如果有可能 - 怎么样? 如果你让我知道如何使用这些图片也很好 - 他们有什么样的画面等等... =)

提前致谢!

Robbepop

3 个答案:

答案 0 :(得分:13)

您可以通过转到

资源文件添加到您的应用程序中
  

项目>>您的项目属性>>   资源>>创建资源文件。

然后,您只需将任何图像添加到您的应用程序并通过您的代码引用它。从菜单顶部的下拉菜单中选择Images,然后点击Add Resource >> From existing file.

保存资源文件后,您可以通过代码访问图像,例如

> Image img =
> YourProject.Properties.Resources.Image1

然而,根据您拥有的图片数量以及相信您使用的图片,我建议使用Image List,您可以添加所有图片to,并通过他们的密钥或索引访问它们。 e.g。

Image img = imageList1[0];  

或者

Image img = imageList1["US"];

这可以在您的工具箱中找到。

答案 1 :(得分:5)

您可以将图像添加为嵌入资源。然后使用Assembly中的ManifestResourceStream提取原始字节数据,然后将其作为图像加载。

注意:这与下面的Femaref的答案/方法不同。

答案 2 :(得分:3)

.net中的每个程序集都可以包含所谓的资源。您可以在资源选项卡中将它们添加到项目的属性中。之后,您可以通过ProjectNameSpace.Properties.Resources

访问它们