2013-11-20 3 views
0

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

this.BackgroundImage = Image.FromFile("../../images/Blue/Blue_Style1.jpg"); 

он прекрасно работает в визуальной студии, но когда я публикую образы приложений не включают в себя и приложение дает ошибку

+6

Hvae вы добавили файл в качестве ресурса? –

+1

Если вы добавите свой файл в «Ресурсы», в своем коде вы можете использовать что-то вроде 'this.BackgroundImage = Properties.Resources.BlueStyle1' – Marco

+1

Как отметил Дэвид и Марко, лучший способ - добавить это изображение в качестве ресурса для ваше приложение, которое затем будет скомпилировано в финальную версию exe/dll. Простой способ добавить ресурс и использовать его через конструктор при настройке свойства BackgroundImage элемента управления. Нажав кнопку '[...]' рядом с свойством «BackgroundImage», открывается диалоговое окно «Выбрать ресурс», в котором у вас есть кнопка «Импортировать», которая позволяет вам импортировать ресурс, а затем выбрать его для фона. – Groo

ответ

3

Решение 1: Создайте специальную папку для хранения images в вашем проекте. debug/release.

Ex: project/bin/Release/Images/

доступа к изображениям из этой папки, как показано ниже:

String FullPath=System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase).Replace("file:\\", "")+"\\Images\\Blue_Style1.jpg"; 
this.BackgroundImage =Image.FromFile(FullPath); 

Решение 2: доступа Images из Resources файла.
Примечание: сначала вам нужно добавить Images в Resources.
Здесь я добавил Blue_Style1.jpg файл на номер Resources.

this.BackgroundImage = Properties.Resources.Blue_Style1; 

See here for adding images to Resources

+0

Спасибо и хороший учебник –

+0

Решение 2 - очень хороший способ автоматического развертывания изображений с приложением в одном пакете. Однако решение 1 приведет к конфликтам при использовании системы управления версиями, поскольку вы обычно исключаете подкаталоги bin из управления версиями. Если вы хотите иметь возможность изменять изображения после сборки и, следовательно, развертывать их вместе с вашим приложением в отдельной папке, я бы предложил использовать Копировать для вывода. – Markus

0

Для каждого изображения вам нужно проверить Build Action собственности для обеспечения его скопирован в целевой каталог.

Настройка действия по созданию контента должна работать.

0

Это работает в Visual Studio, потому что вы загружаете файл из двух папок выше. При работе в VS вы обычно работаете в подпапке bin \ Debug, поэтому .. \ .. \ FileName.jpg ссылается на файл в папке проекта.
Чтобы скопировать файл в выходной файл вашего проекта, установите для параметра «Копировать в выходной каталог» значение «Копировать» или «Создать всегда» в свойствах файла. После этого, changet путь к файлу следующим образом:

this.BackgroundImage = Image.FromFile("images/Blue/Blue_Style1.jpg"); 

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

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