Телефон: +7 (926) 245-03-63

Извлечение изображения из поля BLOB

Следующая статья: Как предотвратить запуск копии приложения?

Простейший способ – применение метода Assign для сохранения содержимого BLOB-поля в объекте, имеющем тип TBitmap. Отдельный объект TBitmap или свойство Bitmap объекта Picture, в свою очередь являющегося свойством компонента TImage, могут служить примером совместимой цели для данной операции.

Пример кода, демонстрирующего использование метода Assign для копирования изображения из BLOB-поля в компонент TImage.

procedure TForm1.Button1Click(Sender: TObject);
begin
 Image1.Picture.Bitmap.Assign(Table1Bitmap);
end;

В этом примере объект Table1Bitmap типа TBlobField представляет собой BLOB-поле таблицы dBASE. Данный TblobField-объект был создан с помощью редактора полей (Fields Editor). Если для создания полей таблицы Fields Editor не используется, то получить к ним доступ можно с помощью метода FieldByName или свойства Fields, оба они являются членами компонентов TTable или TQuery. В случае ссылки на BLOB-поле таблицы с помощью одного из приведенных членов, перед использованием метода Assign указатель на поле должен быть прежде приведен к типу объекта TBlobField.

Пример

procedure TForm1.Button1Click(Sender: TObject);
begin
 Image1.Picture.Bitmap.Assign(TBLOBField(Table1.Fields[1]));
end;

Изображение, хранящееся в BLOB-поле, может быть скопировано непосредственно в отдельный объект TBitmap. Ниже приведен пример, демонстрирующий создание объекта TBitmap и сохранения в нем изображения из BLOB-поля.

procedure TForm1.Button2Click(Sender: TObject);
var B: TBitmap;
begin
 B:=TBitmap.Create;
 try
  B.Assign(Table1Bitmap);
  Image1.Picture.Bitmap.Assign(B);
 finally
  B.Free;
 end;
end;
Интересное в интернете: Почти даром: вагонка из лиственницы, половая доска, вагонка цена год тут