Member 13920025 Ответов: 1

C# - как я могу обрабатывать несколько растровых форматов при первоначальной загрузке в форму?


Одно изображение может быть первоначально загружено из подпапки приложения в форму Windows, чтобы появиться в качестве изображения BackgroundImage/PictureBox, указав имя и формат изображения по расширению файла.
Однако я не могу найти способ поддерживать различные форматы изображений с одинаковыми именами и эффективно обрабатывать несколько изображений в моей подпапке, которые имеют одно и то же имя, но разные расширения файлов изображений.
Я хочу, чтобы любое поддерживаемое растровое изображение с именем bg_default(*.*) изначально загружалось как BackgroundImage, если в подпапке есть одно изображение с этим именем, и это одно изображение будет выбрано случайным образом, если в подпапке есть несколько изображений, подобных этому:

app1.exe
default_01(папка):
bg_default.ПНГ
bg_default.gif
bg_default.БМП
bg_default.Тифф
bg_default.jpeg

Я видел много методов для изменения выражений пути и разбиения вещей на части, но, к сожалению, нет никакого способа определить имя изображения и указать различные расширения файлов для него в одном выражении пути.
С другой стороны, кажется, что я должен указать расширение для изображения.
Как я могу решить эту проблему?

Что я уже пробовал:

Я перепробовал все, что мог себе представить, используя свои базовые навыки c#.

1 Ответов

Рейтинг:
1

Nelek

Каталог.Метод GetFiles (System.IO) | Microsoft Docs[^]
С Directory.GetFiles (string, string) вы получаете все файлы в указанном каталоге, соответствующие указанному шаблону, возвращаемый массив представляет собой строку.

string[] Images = System.IO.Directory.GetFiles (Path, @"bg_default*");
Проверить наличие одного или нескольких изображений в массиве и выбрать "случайное" одно из них должно быть легко.

Тогда вы можете установить это в качестве фона.