Назначить внешнее изображение для Picturebox в Visual Studio 2008 (C #)? - PullRequest
0 голосов
/ 29 сентября 2010

Как я могу назначить внешнее изображение в PictureBox в Visual Studio 2008?
Как правило, когда мы используем ChooseImage в PictureBox, Visual Studio добавляет изображение в исполняемый файл и вызывает увеличение объема исполняемого файла, я хочу добавить изображение из каталога рядом с исполняемым файлом.
Возможно ли это в Visual Studio 2008?

P.S: Я не хочу добавлять изображение с кодом C #, потому что VS2008 не показывает его во время разработки.

Ответы [ 4 ]

2 голосов
/ 29 сентября 2010

Я думаю, вы можете сделать это в коде C #, используя метод Image.FromFile .Пока код C # находится в инициализации формы / элемента управления, он должен выполняться как во время разработки, так и во время выполнения.

1 голос
/ 29 сентября 2010

Если это WinForms, лучше просто установить ImageLocation PictureBox на путь к вашему изображению. Сделайте это от дизайнера, чтобы показать его во время разработки.

1 голос
/ 29 сентября 2010

Вы можете использовать связанные ресурсы.

Когда вы добавляете связанный ресурс, файл .resx, в котором хранится информация о ресурсах вашего проекта, содержит только относительный путь к файлу ресурса на диске.Если вы добавляете изображения, видео или другие сложные файлы в качестве связанных ресурсов, вы можете редактировать их с помощью редактора по умолчанию, который связан с этим типом файлов в Resource Designer.Когда вы добавляете встроенный ресурс, данные сохраняются непосредственно в файле ресурсов проекта (.resx).Строки могут храниться только как встроенные ресурсы. Встроенные ресурсы.

MSDN для связанных и встроенных ресурсов

PS Однако я до сих пор не понимаю, почемувам это нужно - даже если .exe не станет больше, весь пакет приложения будет иметь больший размер, не так ли?

Best,
Dan

1 голос
/ 29 сентября 2010

Вы можете получить изображения от Resources

pictureBox1.Image = Properties.Resources.[image name];

см. Как встраивать и получать доступ к ресурсам с помощью Visual C #

Неверно прочитан вопрос, который ОП задал для загрузки без использования ресурсов.

вам нужно будет сделать

Image.FromFile("c:\\image.bmp")

Если изображение в формате JPEG, то Вы можете привести его к растровому изображению

Bitmap myJpeg=(Bitmap) Image.FromFile("myJpegPath");

OR

System.Drawing.Image loadImg = System.Drawing.Image.FromFile("c:\\image.JPG");
loadImg.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);
...