У меня есть 30 PNGs в файле ресурсов, и я хотел бы выполнить итерации вокруг них в таймере. Этот таймер устанавливает фоновое изображение формы на следующий PNG в последовательности для создания основной анимации.
Я не могу найти простой способ перечислить файл ресурсов и достигнуть действительные образы. Я также стремлюсь сохранить ссылки на изображения не прикрепленными к их именам файлов так, чтобы обновление именования изображений в Файле ресурсов не требовало бы, чтобы я обновил этот раздел кода.
Примечания:
private void Form1_Load(object sender, EventArgs e)
{
var list = WindowsFormsApplication1.Properties.Resources.ResourceManager.GetResourceSet(new System.Globalization.CultureInfo("en-us"), true, true);
foreach (System.Collections.DictionaryEntry img in list)
{
System.Diagnostics.Debug.WriteLine(img.Key);
//use img.Value to get the bitmap
}
}
Вот хороший учебник о том, как извлечь вложенные ресурсы здесь на CodeProject, а вот как , чтобы использовать изображение в качестве альфа-смешано, и показывает, как загрузить его в список изображений. Вот класс помощника, чтобы облегчить загрузку встроенных ресурсов здесь .
Надеюсь, это поможет, С уважением, Том.
Да, есть по крайней мере один.
Фонд свободного программного обеспечения имеет некоторые ресурсы .NET, известные как DotGNU . Он имеет реализацию CLI и работает на сервере веб-службы.
Если требуется взаимодействие с Java, существует IKVM.NET , который является реализацией Java для платформы .net.
Для получения информации о моно на wii см. ресурс .
Что касается работы mono на iPhone - посмотрите на MonoTouch .
-121--4349591-Какую версию OpenCV вы используете? Я попробовал ваш код на последнем (OpenCV2.0), и он работает нормально. Вы можете загрузить OpenCV2.0 из здесь .
Если требуется последняя сборка, ее можно проверить с помощью SVN здесь .
-121--4321140-Assembly asm = Assembly.GetExecutingAssembly();
for(int i = 1; i <= 30; i++)
{
Stream file = asm.GetManifestResourceStream("NameSpace.Resources.Image"+i.ToString("000")+".png");
// Do something or store the stream
}
Чтобы получить имя всех встроенных ресурсов:
string[] resourceNames = Assembly.GetManifestResourceNames();
foreach(string resourceName in resourceNames)
{
System.Console.WriteLine(resourceName);
}
Также проверьте пример в функции Form1_Load.
Как О Этот форум отвечает , что использует GetManifestresourCestream () ?