DBGrid и картинка в поле
Модератор: Модераторы
DBGrid и картинка в поле
Вопрос простой? Как в DBGrid вывести картинку поле в ДБ имеет BLOB тип.
Используя
img := TBitmap.Create;
img.Assign(Field);
(где Field - BLOB поле)
возникает ошибка.
Используя
img := TBitmap.Create;
img.Assign(Field);
(где Field - BLOB поле)
возникает ошибка.
- несовместимость типов TBitmap и TField.alexkam писал(а):Код: Выделить всё
img.Assign(Field);
Должно быть что-то вроде:
Код: Выделить всё
var
img: TBitmap;
stm: TStream;
begin
stm := Field.DataSet.CreateBlobStream(Field, bmRead);
img := TBitmap.Create;
img.LoadFromStream(stm);
// Здесь должен быть код прорисовки на грид...
img.Free;
stm.Free;
end;
Возникает ошибка WRONG IMAGE FORMAT
alexkam писал(а):...WRONG IMAGE FORMAT
Ну тогда скажите, в каком формате у Вас картинки?
bmp - формат
Добавлено спустя 4 минуты 9 секунд:
Пожалуйста, покажите кто-нибудь рабочий пример.
Добавлено спустя 4 минуты 9 секунд:
Пожалуйста, покажите кто-нибудь рабочий пример.
Ну что-то типа такого:
Код: Выделить всё
img.Assign(TBLOBField(Таблица.FieldByName('имя_поля').Value));Ошибка: Cannot assign a TBlobField to TBitMap
alexkam
А попробуйте так:
А попробуйте так:
Код: Выделить всё
img.Assign(TBitmap(TBLOBField(Таблица.FieldByName('имя_поля').Value)));Я перепробовал все варианты. Ничего не выходит. Нужен рабочий пример. Помогите...
А как насчёт TDBImage ?
Или как-то так:
Или как-то так:
Код: Выделить всё
img.Picture.Bitmap.Assign(TBitmap(TBLOBField(Таблица.FieldByName('имя_поля').Value)));