![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 15.01.2009
Сообщений: 52
|
![]()
Всем привет! Столкнулся с такой проблемой:
Имеется БД, в ней имеется таблица для хранения изображений, в таблице имеется поле Data, в которое я загружаю изображения в 16-тиричной системе, т.е. по сути изображение хранимое в БД выглядит примерно так Код:
Тобишь перевести из 16-тиричной системы в готовый BitMap Может кто сталкивался с таким, подскажите пожалуйста? |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 16.05.2012
Сообщений: 3,211
|
![]()
Использовать DBImage пробовали?
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
|
![]() |
![]() |
![]() |
#3 |
Software Developer
Старожил
Регистрация: 19.12.2008
Сообщений: 2,070
|
![]()
Читаешь из БД массив байт.
Пишешь этот массив в MemoryStream. Загружаешь данные в Bitmap из выше созданного MemoryStream. Пишешь что-то наподобие этого: Image1.Picture.Assign(tmpBitmap);
Будь проще и люди к тебе потянутся
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 05.06.2008
Сообщений: 4,210
|
![]()
А зачем хранить картинку именно в 16-ти ричной системе?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
|
![]() |
![]() |
![]() |
#5 | |
Пользователь
Регистрация: 15.01.2009
Сообщений: 52
|
![]()
нет, не пробовал. DBImage преобразует байтовое значение в битпам?
Цитата:
![]() Так уж сложилось, что картинки, загружаемые на сервер perl-скриптом преобразуются в байтовое значение, после чего собирается БД SQLite и отправляется на рабочую машину пользователя, поэтому чтобы не отправлять сами изображения, другого выхода пока не придумал. Да и зачем переделывать, когда осталось доделать всего чуть-чуть ![]() |
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 16.05.2012
Сообщений: 3,211
|
![]()
DBImage просто связывается с полем БД, хранящим картинку, и при позиционировании курсора на записи берет из данного поля данной записи значение. Как и любой DBDataControls-компонент
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
|
![]() |
![]() |
![]() |
#7 | |
Пользователь
Регистрация: 15.01.2009
Сообщений: 52
|
![]() Цитата:
У меня есть Query, который берет необходимое поле из БД и записывает данные в динамический массив, после чего связь с БД закрывается. В это же время включается таймер, в котором собственно и должны преобразовываться полученные значения из массива в изображение. Как то так ![]() |
|
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Если картинка уже прочитана из базы, например в MemoryStream, то последовательно каждые 2 байта с помощью HexToBin преобразуем в байт и пишем в другой MemoryStream, из которого по концу преобразования загружаем в Image
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#9 | |
Пользователь
Регистрация: 15.01.2009
Сообщений: 52
|
![]() Цитата:
Код:
stre - выходящий поток Вызываю её вот так: Код:
![]() ![]() |
|
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 16.05.2012
Сообщений: 3,211
|
![]()
Ну как вариант - выводить массив байт во временный файл типа file of byte а затем загружать через Image.LoadFromFile (точное название процедуры не помню, но она есть
![]()
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Загрузка изображения | iiunbreakableii | Общие вопросы Delphi | 1 | 13.02.2011 20:30 |
загрузка изображения | wlords | Помощь студентам | 3 | 24.11.2010 20:52 |
Загрузка изображения | _-Re@l-_ | Общие вопросы Delphi | 7 | 31.05.2010 14:54 |
Загрузка изображения из exe | Volkogriz | Общие вопросы Delphi | 13 | 18.01.2010 17:51 |
Загрузка изображения | JRcoker | Мультимедиа в Delphi | 15 | 04.11.2008 18:32 |