Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Отображение рисунка из БД
|
|||
|---|---|---|---|
|
#18+
Есть рисунок (image type, ms sql) в БД. Я его тяну и хочу на нем еще что-нибуть дорисовать. А потом отобразить в WebControl'у Image. Какие варианты посоветуете? Вытянуть, использовать какой-то .NET класс для его обработки, сохранить на диске, указать Image.ImageUrl на файл? Можно ли прямо данные из DataSet'а запихнуть в WebControl Image? И как потом с этим рисунком работать? Ссылки может есть на схожую тему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2005, 20:25 |
|
||
|
Отображение рисунка из БД
|
|||
|---|---|---|---|
|
#18+
если схематично , то так Dim DR As SqlClient.SqlDataReader dim FileStream as Stream .... FileStream.Write (DR.GetSqlBinary(0).Value, 0, DR.GetSqlBinary(0).Length) Dim myIMG As System.Drawing.Image = System.Drawing.Image.FromStream(FileStream) .... myimg.Save ..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2005, 18:50 |
|
||
|
Отображение рисунка из БД
|
|||
|---|---|---|---|
|
#18+
когда делаю myimg.Save(..) ругается "System.Runtime.InteropServices.ExternalException: A generic error occurred in GDI+." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2005, 18:56 |
|
||
|
Отображение рисунка из БД
|
|||
|---|---|---|---|
|
#18+
Это код на который ругается (на методе Save(..)): if (ds.Tables[0].Rows.Count > 0) { // Read image from dataset and save into file on disk. bImage = (Byte[])ds.Tables[0].Rows[0][0]; // Save array of bytes into stream. strm = new MemoryStream(bImage); img = System.Drawing.Image.FromStream(strm); strm.Close(); filePath = dirPath + @"\Images"; Directory.SetCurrentDirectory(filePath); try { img.Save(areaID.ToString(), System.Drawing.Imaging.ImageFormat.Bmp); } finally { img.Dispose(); } image.ImageUrl = filePath + @"\" + areaID.ToString() + ".bmp"; } Что интересно, свойства img соотв. свойствам рисунка (который я загружал в БД) кроме одного - RawFormat, оно его просто не распознает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2005, 11:51 |
|
||
|
Отображение рисунка из БД
|
|||
|---|---|---|---|
|
#18+
То-есть сам файл появляется (322.bmp, напр.), но его размер = 0. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2005, 11:54 |
|
||
|
Отображение рисунка из БД
|
|||
|---|---|---|---|
|
#18+
Вот прочитал: "Метод Save не работает с объектами Image, загруженными из метафайла или хра- нящимися в битовой карте в памяти. Кроме того, нельзя сохранить изображение в формате метафайла или битовой карты в памяти" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2005, 12:55 |
|
||
|
Отображение рисунка из БД
|
|||
|---|---|---|---|
|
#18+
А вот так все работает: if (ds.Tables[0].Rows.Count > 0) { // Read image from dataset and save into file on disk. bImage = (Byte[])ds.Tables[0].Rows[0][0]; // Save array of bytes into stream. strm = new MemoryStream(bImage); img = System.Drawing.Image.FromStream(strm); newImg = img.GetThumbnailImage(img.Width, img.Height, null, new IntPtr()); strm.Close(); filePath = dirPath + @"\Images"; Directory.SetCurrentDirectory(filePath); try { newImg.Save(areaID.ToString() + ".bmp"); } finally { img.Dispose(); newImg.Dispose(); } image.ImageUrl = filePath + @"\" + areaID.ToString() + ".bmp"; } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2005, 15:12 |
|
||
|
Отображение рисунка из БД
|
|||
|---|---|---|---|
|
#18+
а ваще задумка - картинки в базу - оказалась оч интересной, хотя бы потому, что нет временных файлов. Вот тока интересен вопрос быстродействия. Что резвей - брать фотку из базы или файла ? Чую что с файла быстрей. Но по логической организации хранения данных - мне больше понравился вариант с БД. по такой схеме я сделал фотоальбомы выпускников www.kvirtu.ru/photo.aspx . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2005, 11:54 |
|
||
|
Отображение рисунка из БД
|
|||
|---|---|---|---|
|
#18+
big-dukeа ваще задумка - картинки в базу - оказалась оч интересной, хотя бы потому, что нет временных файлов. Вот тока интересен вопрос быстродействия. Что резвей - брать фотку из базы или файла ? Чую что с файла быстрей. Но по логической организации хранения данных - мне больше понравился вариант с БД.ссылка на соответствующее обсуждение http://www.sql.ru/forum/actualthread.aspx?tid=200895 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2005, 17:35 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=33276269&tid=1393592]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
31ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 224ms |
| total: | 343ms |

| 0 / 0 |
