Table of Contents

TMS FNC Bitmap Container — Guides

Named images

Each item in TTMSFNCBitmapContainer.Items has a Name that controls use as a lookup key. Names are case-insensitive and must be unique within a container.

BitmapContainer1.FindBitmap('folder', Bitmap);

Loading images at design time

Open the Items collection editor, add items, and use the Bitmap property editor to load PNG, JPEG, or BMP files.

Loading images at runtime

var
  Item: TTMSFNCBitmapItem;
begin
  Item := BitmapContainer1.Items.Add;
  Item.Name := 'avatar';
  Item.Bitmap.LoadFromFile('avatar.png');
end;

SVG images

Assign an SVG string to Item.SVG instead of Bitmap. FNC controls that support SVG will render it at the correct DPI automatically.

URL Bitmap Container

TTMSFNCURLBitmapContainer downloads images from URLs in background threads.

var
  Item: TTMSFNCURLBitmapItem;
begin
  Item := URLBitmapContainer1.Items.Add;
  Item.Name := 'logo';
  Item.URL := 'https://example.com/logo.png';
end;

// React when an image is ready
procedure TForm1.URLBitmapContainer1DownloadComplete(Sender: TObject;
  AItem: TTMSFNCURLBitmapItem);
begin
  Image1.Bitmap.Assign(AItem.Bitmap);
end;

DPI and scaling

Items support multiple scale variants via ScaledBitmaps. The FNC rendering engine picks the best-fit bitmap for the current display DPI.

See also