c# - 在 C# 应用程序中处理大量图像

标签 c# image dll resources

我正在尝试用 C# 创建一个纸牌游戏,为此我需要加载很多图像。它们都是 jpg 图片,大约有 7000 张。

我想确保如果您下载游戏,图像将不容易访问,这意味着它们不应该只是应用程序子文件夹中的 JPG 图像。所以我考虑将它们嵌入到一个 DLL 文件中。

但是我该怎么做呢?我该如何有效地处理这个问题?是否有解决此类问题的技术,或者更可取的另一种方法?

最佳答案

I would like to make sure that [...] the images will not be easily accessible

首先,您应该问问自己为什么要禁止这样做。如果你只是想避免其他人操纵图片,你可以将它们作为 JPG 放在一堆子文件夹中,只需为每个文件生成校验和并在程序加载图片时检查它们。

如果你想避免重复使用图片,你可以将它们放在一堆子文件夹中,但不要作为 JPG。例如,使用标准 AES 算法对它们进行编码。但请注意,这不会阻止其他人在您的应用程序运行时制作屏幕截图,因此您应该考虑这样做是否真的值得。

编辑:如果你想嵌入图像,因为当你只有一个大文件而不是 7000 个单个文件要部署时安装会变得更容易,那么你可以编写一个帮助程序来以编程方式创建资源文件。看这个page from Microsoft ,特别是关于 .resource 文件的部分,学习如何使用 ResourceWriter为此目的上课。

关于c# - 在 C# 应用程序中处理大量图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11734324/

相关文章:

c# - 从 MVC 中的表创建图表

html - 当我在 Photoshop 中设计图像以作为 CSS 中的标题发布时,分辨率出现问题

c# - 在调试中的 ASP.NET MVC 应用程序中使用时 dll 中 exe 的路径

linux - 可以在 Linux 上使用 .dll

xml - C++ 在没有 CLR 的情况下读/写 XML

c# - 为什么我无法访问另一个表单上的文本框?

c# - Visual Studio 在打开项目时卡住

JQuery 从 <img> 中获取所有 <alt> 标签并在 <ul><li> 中显示它们

c# - 如何交互 BlazorWebView 和 Windows 窗体

ios - 尝试使用 Swift 显示 Parse 中的图像时出现问题