Get access to over 100 FireMonkey cross platform samples for Android, IOS, OSX, Windows, and Linux!

AndroidAppmethodCode SnippetDelphiFiremonkeyIOSOSXWindows

TRectangle Bitmap Instead Of TImage For Delphi XE5 Firemonkey On Android And IOS

| Delphi 11 10 XE8 XE7 XE Seattle Berlin Tokyo Rio Firemonkey Delphi Android Delphi IOS

Delphi XE5 Firemonkey Fast Rectangle Bitmap | Delphi 11 10 XE8 XE7 XE Seattle Berlin Tokyo Rio Firemonkey Delphi Android Delphi IOSI found this tip over on a Portuguese Delphi Forum and the idea is to use a TRectangle with a bitmap fill instead of a TImage. According to the forum poster a TRectangle is much much lighter resources wise than a TImage and you can accomplish almost the same thing with a TRectangle bitmap fill brush. The drawback to using a TRectangle is that there are only three different display options (wmTile, wmTileOriginal, and wmTileStretch). wmTile will tile the bitmap brush regardless the size of the TRectangle. wmTileOriginal will just show the bitmap once regardless of the TRectangle size. And finally wmTileStretch will stretch the bitmap to the height and width of the rectangle. TImage has a few other different settings for formatting the display of a bitmap but for most uses the TRectangle bitmap fill is probably enough. You could use this idea with the Progress Bar Asynchronous Image Loader instead of it’s current TImage to make it lighter. Here is some sample code that shows how to load a TRectangle Fill with a bitmap using code:
// set the rectangle to the size of your bitmap
Rectangle1.Width := 300;
Rectangle1.Height := 300;
Rectangle1.Stroke.Kind := TBrushKind.bkNone;
Rectangle1.Fill.Kind := TBrushKind.bkBitmap;
//Rectangle1.Fill.Bitmap.WrapMode := TWrapMode.wmTile;
Rectangle1.Fill.Bitmap.WrapMode := TWrapMode.wmTileOriginal;
//Rectangle1.Fill.Bitmap.WrapMode := TWrapMode.wmTileStretch;
Rectangle1.Fill.Bitmap.Bitmap.LoadFromFile('myfile.jpg');

Head over and read the full forum post which also contains some other Firemonkey tips.

Have Delphi Firemonkey questions? Ask and get answers on StackOverflow.

Related posts
DelphiDemoFiremonkeyLinuxOSXShowcaseWindows

AutoBlogAI: FireMonkey Client To Leverage LLMs And Generative AI For Blogging

DelphiFiremonkeyShowcaseUtilityWindows

Unleashing Creativity With Song Writer AI: A Deep Dive

DelphiFiremonkeyShowcaseWindows

How To Build Stable Diffusion Text To Image Prompts

AndroidC++BuilderDelphiFiremonkeyIOSOSXWindows

FireMonkey 10.4.2 Features Updated iOS 14, Android 11, And macOS 11 Support Plus Hundreds Of Fixes

Sign up for our Newsletter and
stay informed

3 Comments

Leave a Reply