2010-04-16 6 views
0

Я пытался получить доступ к ресурсу изображений с именем «IndexPointer.jpg» во встроенном файле RESX под названием «Images.resx». GetManifestResourceNames() возвращает одно значение - SCtor.Images.resources»Чтение из встроенного потока ресурсов

Ассамблея :: GetExecutingAssembly() -.> GetManifestResourceStream ("SCtor.Images.resources.IndexPointer.jpg")

только возвращает nullptr. Очевидно, что у меня есть явное неправильное имя. что было бы правильным?

+0

Если вы задаетесь вопросом, почему нет ответов, это связано с тем, что в C++/CLI никто не делает таких вещей. Воспроизведите проблему на C# и спросите на любом форуме C#. Затем переведите на C++/CLI. –

+0

Ну, из того, что я могу сказать, единственная разница между версией C# и C++/CLI этого кода - синтаксис. – shadeMe

ответ

0

Ну, я, наконец, понял это. Как ни странно, я напомню, что он встретил (и опробовал) рабочее решение и проигнорировал его. В любом случае я создал экземпляр ResourceManag er с ресурсом моей сборки и использовал метод GetObject для извлечения встроенного изображения.

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

Откройте сборку с отражателем, чтобы узнать правильное имя ресурса.

+1

Нет ничего хорошего - он показывает только то, что я уже знаю, имя ресурса и имена ресурсов изображения в нем. – shadeMe

Смежные вопросы