从嵌入式资源流中读取

发布于 2024-08-29 03:25:05 字数 280 浏览 6 评论 0原文

我一直在尝试访问名为“Images.resx”的嵌入式RESX 文件中名为“IndexPointer.jpg”的图像资源。 GetManifestResourceNames() 返回单个值 - SCtor.Images.resources"。Assembly

::GetExecutingAssembly()->GetManifestResourceStream("SCtor.Images.resources.IndexPointer.jpg")

仅返回 nullptr。显然,我得到了正确的名称是什么?

I've been trying to access an image resource named "IndexPointer.jpg" in an embedded RESX file called "Images.resx". GetManifestResourceNames() returns a single value - SCtor.Images.resources".

Assembly::GetExecutingAssembly()->GetManifestResourceStream("SCtor.Images.resources.IndexPointer.jpg")

only returns a nullptr. Obviously, I've got the manifest name wrong. What would be the correct one ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

不必了 2024-09-05 03:25:05

使用 Reflector 打开程序集以找出正确的资源名称。

Open the assembly with Reflector to find out the correct resource name.

深者入戏 2024-09-05 03:25:05

好吧,我终于想通了。奇怪的是,我记得遇到(并尝试)了可行的解决方案并忽略了它。无论如何,我使用程序集的资源实例化了一个 ResourceManager 对象,并使用其 GetObject 方法来提取嵌入的图像。

ResourceManager^ resources = gcnew ResourceManager("<rootNamespace>.<resourceName>", Assembly::GetExecutingAssembly());
Bitmap^ Image1 = gcnew Bitmap(dynamic_cast<Image^>(resources->GetObject("<nameOfTheImageResourceWithoutItsExtension>")));

Well, I finally figured it out. Strangely, I recall coming across (and trying out) the working solution and disregarding it. In any case, I instantiated a ResourceManager object with my assembly's resource and used its GetObject method to extract the embedded image.

ResourceManager^ resources = gcnew ResourceManager("<rootNamespace>.<resourceName>", Assembly::GetExecutingAssembly());
Bitmap^ Image1 = gcnew Bitmap(dynamic_cast<Image^>(resources->GetObject("<nameOfTheImageResourceWithoutItsExtension>")));
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文