Устранение уродливого оператора переключения при получении ресурсов - PullRequest
0 голосов
/ 12 июля 2009

Я добавляю заставку в компактное приложение .NET, и мне интересно, есть ли элегантный способ доступа к правильному растровому изображению (в зависимости от разрешения экрана) для заставки.

например. Свойства моего растрового изображения названы так ...

Splash640480

Splash480640

Splash480480

Splash320240

Splash240320

Splash240240

... и т. Д.

Я пытался создать универсальный словарь, но загрузка универсальной библиотеки на Pocket PC довольно медленная - потребовалось 6 секунд, чтобы на экране-заставке отображалось 2 секунды при простом назначении растрового изображения.

Будет ли рефлексия быстрым вариантом, и если да, то как лучше это сделать?

Ответы [ 2 ]

5 голосов
/ 12 июля 2009

Вы можете использовать ResourceManager для получения объекта по его имени:
http://msdn.microsoft.com/en-us/library/system.resources.resourcemanager.getobject.aspx

После этого приведите его к растровому изображению.

2 голосов
/ 12 июля 2009
System.Resources.ResourceManager resources = 
    new System.Resources.ResourceManager(typeof(YourObject));
Bitmap bmp = (System.Drawing.Bitmap)resources.GetObject("Splash640480");

Edit:

Удаление предложения по уменьшению изображения.

...