DBGrid и картинка в поле

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

DBGrid и картинка в поле

Сообщение alexkam » 07.09.2009 20:10:13

Вопрос простой? Как в DBGrid вывести картинку поле в ДБ имеет BLOB тип.
Используя
img := TBitmap.Create;
img.Assign(Field);
(где Field - BLOB поле)
возникает ошибка.
alexkam
постоялец
 
Сообщения: 152
Зарегистрирован: 07.09.2009 20:03:59

Re: DBGrid и картинка в поле

Сообщение v-t-l » 08.09.2009 12:33:10

alexkam писал(а):
Код: Выделить всё
img.Assign(Field);
- несовместимость типов TBitmap и TField.
Должно быть что-то вроде:
Код: Выделить всё
var
  img: TBitmap;
  stm: TStream;
begin
  stm := Field.DataSet.CreateBlobStream(Field, bmRead);
  img := TBitmap.Create;
  img.LoadFromStream(stm);
  // Здесь должен быть код прорисовки на грид...
  img.Free;
  stm.Free;
end;
v-t-l
энтузиаст
 
Сообщения: 735
Зарегистрирован: 13.05.2007 16:27:22
Откуда: Belarus

Re: DBGrid и картинка в поле

Сообщение alexkam » 10.09.2009 09:32:22

Возникает ошибка WRONG IMAGE FORMAT
alexkam
постоялец
 
Сообщения: 152
Зарегистрирован: 07.09.2009 20:03:59

Re: DBGrid и картинка в поле

Сообщение Vadim » 10.09.2009 10:00:41

alexkam писал(а):...WRONG IMAGE FORMAT

Ну тогда скажите, в каком формате у Вас картинки?
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: DBGrid и картинка в поле

Сообщение alexkam » 10.09.2009 10:44:51

bmp - формат

Добавлено спустя 4 минуты 9 секунд:
Пожалуйста, покажите кто-нибудь рабочий пример.
alexkam
постоялец
 
Сообщения: 152
Зарегистрирован: 07.09.2009 20:03:59

Re: DBGrid и картинка в поле

Сообщение Vadim » 10.09.2009 11:08:30

Ну что-то типа такого:
Код: Выделить всё
img.Assign(TBLOBField(Таблица.FieldByName('имя_поля').Value));
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: DBGrid и картинка в поле

Сообщение alexkam » 10.09.2009 12:43:20

Ошибка: Cannot assign a TBlobField to TBitMap
alexkam
постоялец
 
Сообщения: 152
Зарегистрирован: 07.09.2009 20:03:59

Re: DBGrid и картинка в поле

Сообщение Vadim » 10.09.2009 13:07:22

alexkam
А попробуйте так:
Код: Выделить всё
img.Assign(TBitmap(TBLOBField(Таблица.FieldByName('имя_поля').Value)));
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: DBGrid и картинка в поле

Сообщение alexkam » 10.09.2009 13:43:24

Я перепробовал все варианты. Ничего не выходит. Нужен рабочий пример. Помогите...
alexkam
постоялец
 
Сообщения: 152
Зарегистрирован: 07.09.2009 20:03:59

Re: DBGrid и картинка в поле

Сообщение svk12 » 12.09.2009 00:20:05

А как насчёт TDBImage ?

Или как-то так:

Код: Выделить всё
img.Picture.Bitmap.Assign(TBitmap(TBLOBField(Таблица.FieldByName('имя_поля').Value)));
svk12
постоялец
 
Сообщения: 408
Зарегистрирован: 09.06.2008 18:42:47


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 29

Рейтинг@Mail.ru