Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
0 / 0 / 2
Регистрация: 06.05.2013
Сообщений: 11

Как вывести в webBrowser изображение из файла ресурсов?

02.03.2016, 10:10. Показов 2791. Ответов 5

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста советом, мучаюсь уже несколько дней. Надо извлечь изображение из файлов ресурсов в webBrowser. Извлечение в виде C:\temp\pic1.gif не подходит.

Имеются некоторые наброски, но браузер никак не хочет выводить изображение, похоже надо каким-то образом его переформатировать для отображения в html:
C#
1
2
3
static Bitmap image1 = Properties.Resources.pic1;
string html1 = "<html><head></head><body><p>текст</p><img src='" + image1 + "' /></body></html>";
webBrowser.DocumentText = html1;
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.03.2016, 10:10
Ответы с готовыми решениями:

Как загрузить png изображение из файла ресурсов
пробую так: Image1-&gt;Picture-&gt;RCDATA-&gt;LoadFromResourceName((int)HInstance, &quot;H_A&quot;); файл ресурсов создан из меню, тип ресурса RCDATA. ...

Как заменить изображение курсора иконкой из файла ресурсов
Сделать это из файла легко: Cursor.Current = New Cursor(&quot;plus.ico&quot;) Но тогда нужно таскать за exe-шником файлы с иконками (а их...

Как можно загрузить изображение из файла ресурсов (Resources) в PictureBox?
Из файла понятно как pictureBox1-&gt;Image = Image::FromFile(&quot;c:\Sarada.png&quot;); Но вот как из ресурсов?

5
160 / 148 / 92
Регистрация: 30.03.2011
Сообщений: 569
03.03.2016, 09:45
В web-браузере Text - это HTML код, поэтому нужно все записать в нем с указанием изображений (рисунков), т.е. того, откуда оно берется.

Добавлено через 13 минут
В качестве примера выдрал из старого проекта формирование информации о книге с отображением в браузере:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
string html1 =@"<html><head><title>Информация о товаре</title></head><body>";
string htmltable = @"<table width="+(webBrowser1.Width-40).ToString();
string htmltable1 = @" border='0' cellspacing='0' cellpadding='0'>
<tbody><tr><td align=centre><b>";//<FONT size=5><b>";
string htmltable2 = dataGridView1.Rows[i].Cells[4].Value.ToString();//Название 4
string htmltable3 = "</b></td></tr>";//@"</b></FONT></td></tr>";
string htmltable4 = @"<tr><td align='right'><b>";
string htmltable5 = dataGridView1.Rows[i].Cells[3].Value.ToString();//Автор 3
string htmltable6 = @"</b></td></tr>";
string htmltable7 = @"<tr><td><img border='1' src='";
string htmltable8 = addr;           
string htmltable9 = @"'  align='left' hspace='8' vspace='2' alt='";
    string htmltable10 = htmltable2 + "'><FONT size=2>";
string htmltable11 = dataGridView1.Rows[i].Cells[5].Value.ToString();//Аннотация 5*/
string htmltable12 = @"</FONT></td></tr><tr><td><br>";
string htmltable13 = "<br>Издательство: " + dataGridView1.Rows[i].Cells[8].Value.ToString();//Изд-во 8
string htmltable14 = "<br>Серия: " + dataGridView1.Rows[i].Cells[2].Value.ToString();//Серия 2
string htmltable15 = "<br>Язык: " + dataGridView1.Rows[i].Cells[7].Value.ToString();//Язык 7
string htmltable16 = "<br>ISBN: " + dataGridView1.Rows[i].Cells[6].Value.ToString();//ISBN 6
string htmltable17 = @"</td></tr></tbody></table></body></html>";
webBrowser1.DocumentText = html1 + htmltable + htmltable1 + htmltable2 + htmltable3 + htmltable4 + htmltable5  + htmltable6 + htmltable7 + htmltable8 + htmltable9 + htmltable10 + htmltable11 + htmltable12 +
    htmltable13 + htmltable14 + htmltable15 + htmltable16 + htmltable17;
Добавлено через 15 часов 32 минуты
alexandmalov, все понятно?
0
0 / 0 / 2
Регистрация: 06.05.2013
Сообщений: 11
03.03.2016, 09:51  [ТС]
Судя по коду, изображение берётся отсюда:
C#
1
string htmltable8 = addr;
Непонятно только как оно туда попадает, собственно в чём и был весь вопрос.
0
160 / 148 / 92
Регистрация: 30.03.2011
Сообщений: 569
03.03.2016, 11:58
Предварительно формировалась большая таблица данных, данные отображались в ней и браузере (оказалось, что в нем получается более приятное отображение картинок и текста).
Да, addr - это адрес картинки. Он может быть как адресом файла, так и hhtp адресом. Например,
addr = @"http://www.shop.ru/_files/product/2/D123421.gif";
0
0 / 0 / 2
Регистрация: 06.05.2013
Сообщений: 11
04.03.2016, 09:34  [ТС]
Спасибо за помощь, к сожалению эти способы не подходят, необходимо именно из файлов ресурсов картинку вытягивать.
0
160 / 148 / 92
Регистрация: 30.03.2011
Сообщений: 569
05.03.2016, 14:53
Лучший ответ Сообщение было отмечено alexandrmalov как решение

Решение

Тогда возможно так (хотя затраты возрастут) с доступом к внедренному ресурсу (в нашем случае файл рисунка):

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//создаем Assembly
        Assembly _assembly = Assembly.GetExecutingAssembly();
//создаем поток. Имя ресурса состоит из NameSpace проекта "."+название внедренного ресурса(Имя рисунка с расширением)
       Stream _imageStream = _assembly.GetManifestResourceStream("Имя рисунка");
        //.....
//создаем Image
        Image im = new Bitmap(_imageStream);
//сохраняем рисунок в файле, который будем использовать в html коде браузера
        im.Save("Любое имя с расширением");
//помним, что файл сохранился в текущей директории: 
            path = AppDomain.CurrentDomain.BaseDirectory; path = path.Replace(@"", @"/");
//в html коде укажем адрес, который формируется так:
            addr = @"file://" + path + "Любое имя с расширением";
        //......
//при закрытии формы нужно не забыть уничтожить файл "Любое имя с расширением" 
        File.Delete("Любое имя с расширением");
Надеюсь, как внедряются ресурсы, знаете
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.03.2016, 14:53
Помогаю со студенческими работами здесь

Как в консоли вывести изображение из файла?
Image.Picture.LoadFromFile(&lt;имя файла&gt;); Наподобие такого только на Паскаль.

Как вывести изображение из файла в окне?
Буду краток, есть картинка в интернете или на компьютере, как её вывести в окне Tkinter

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

Как сохранить изображение из формы в файл и вывести из файла на страничку?
Здравствуйте Вопрос в том: как с помощью php сохранить изображение из формы в файл? как запомнить путь к файлу (чтобы сохранить в...

Как вывести на форму изображение, имя файла которого вводится в Text1
Реализовать интерфейс с объектами, представленными на рисунке. При нажатии на кнопку CommandButton1 происхо-дит загрузка и вывод...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru