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

Rob*_*pop 6 c# visual-studio

这是我的第一个问题.

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

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

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

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

提前致谢!

Robbepop

Geo*_*ton 13

您可以通过转到,将资源文件添加到您的应用程序

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

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

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

> Image img =
> YourProject.Properties.Resources.Image1
Run Code Online (Sandbox Code Playgroud)

但是,根据您拥有的图像数量以及我认为您使用它们的内容,我建议使用a Image List,您可以将所有图像添加到其中,并通过其键或索引访问它们.例如

Image img = imageList1[0];  
Run Code Online (Sandbox Code Playgroud)

要么

Image img = imageList1["US"];
Run Code Online (Sandbox Code Playgroud)

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


lep*_*pie 5

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

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