C #: доступ к изображению добавлен в папку проекта - PullRequest
6 голосов
/ 09 марта 2010

Хотелось бы знать следующее: я добавил папку «Графика» в свой проект и вставил в нее BMP. Теперь я хотел бы загрузить изображение из моего кода, но я не могу понять, как. Я знаю, это просто с ресурсами, но есть ли способ без добавления изображения в ресурсы? Спасибо

Ответы [ 4 ]

3 голосов
/ 11 марта 2010

Вы можете загрузить изображение прямо из файловой системы

Image img = Image.FromFile ("\ Graphics \ ImageName.bmp");

Документация MSDN находится здесь

http://msdn.microsoft.com/en-us/library/system.drawing.image.fromfile.aspx

Очевидно, вам нужно знать каталог и имя, из которого вы загружаете.

2 голосов
/ 09 марта 2010

Я тоже когда-то задумывался над этим, поэтому я понял это и поместил в сообщение в блоге . Для вашего примера это должно быть примерно так:

var a = Assembly.GetExecutingAssembly(); // Or another Get method if you need to get it from some other assembly

var image = Image
    .FromStream(a.GetManifestResourceStream("DefaultNameSpace.Graphics.image.bmp"));

Не забудьте пометить изображение как встроенный ресурс и утилизировать его по окончании, чтобы не было утечки:)

1 голос
/ 09 марта 2010

Чтобы получить ресурс:

myNamespace.Properties.Resources.images.<imagename>

Вы можете привести его к нужному типу (или использовать функцию, например, FromFile)

0 голосов
/ 09 марта 2010

В свойствах файла необходимо указать, что он должен быть развернут при сборке приложения:

Копировать в выходной каталог: всегда копировать

Затем вы можете получить доступ к файлу, используя метод Image.FromFile , путь будет точно такой же, как в вашем проекте.

...