RAD Studio 10.4.1 is now available! Learn more. Looking for discounts? Visit our Special Offers page!
C++

Extracting A Bitmap From A BLOB Field

Author: Embarcadero USA

 Technical Information Database

TI791D.txt   Extracting A Bitmap From A BLOB Field
Category   :Database Programming
Platform    :All
Product    :Delphi  All

Description:
Extracting a bitmap from a dBASE or Paradox blob field -- without first
saving the bitmap out to a file -- is a simple process of using the Assign
method to store the contents of the BLOB field to an object of type
TBitmap. A stand-alone TBitmap object or the Bitmap property of the
Picture object property of a TIMage component are examples of compatible
destinations for this operation.

Here is an example demonstrating using the Assign method to copy a bitmap
from a BLOB field into a TImage component.

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

In this example, the TBLOBField object Table1Bitmap is a BLOB field in a
dBASE table. This TBLOBField object was created using the Fields Editor.
If the Fields Editor is not used to create TFields for the fields in the
table, the fields must be referenced using either the FieldByName method
or the Fields property, both part of the TTable and TQuery components. In
cases where one of those means is used to reference the BLOB field in a
table, the field reference must be type-cast as a TBLOBField object prior
to using the Assign method. For example:

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

A bitmap stored in a BLOB field may also be copied directly to a stand-
alone TBitmap object. Here is an example showing the creation of a
TBitmap object and storing into it a bitmap from a BLOB field.

  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;



Reference:


7/16/98 4:33:54 PM
 

Article originally contributed by


Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder.
Design. Code. Compile. Deploy.
Start Free Trial   Upgrade Today

   Free Delphi Community Edition   Free C++Builder Community Edition

Related posts
CodeDelphiRAD Studio

Learn How To Use Connection Pooling With A Multi-threaded Environment In Delphi

CodeDatabaseDelphiRAD Studio

Learn How To Use FireDAC To Work With A Firebird Database In Delphi

DatabaseRAD Studio

Newcomer's Perspective - FireDAC and SQLite

CodeDatabaseDelphiRAD Studio

Learn More About The FireDAC Connection Object In This RAD Studio Sample App

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

IN THE ARTICLES