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

AndroidAppmethodCode SnippetDelphiDemoFiremonkeyIOSOSXWindows

Save Effects To File With This Code Snippet For Delphi XE5 Firemonkey

Delphi XE5 FiremonkeyChris Rolliston has a post up on the Embarcadero forum with a sample function for saving a Delphi XE5 Firemonkey TEffect to file. The trick looks like the ProcessEffect function of a TEffect which actually applies the effect to a bitmap which you can then save. The function relies on an effect being a child of the component you want to save the effect for but you can easily customize it to suite your own needs.
procedure SaveBitmapWithEffect(const Image: TImage; const FileName: string);
var
Child: TFmxObject;
Effect: TEffect;
R: TRectF;
Temp: TBitmap;
begin
Effect := nil;
for Child in Image.Children do
if (Child is TEffect) and TEffect(Child).Enabled then
begin
Effect := TEffect(Child);
Break;
end;
R := RectF(0, 0, Image.Bitmap.Width, Image.Bitmap.Height);
Temp := TBitmap.Create(Image.Bitmap.Width, Image.Bitmap.Height);
try
Temp.Canvas.DrawBitmap(Image.Bitmap, R, R, 1);
if Effect <> nil then Effect.ProcessEffect(Temp.Canvas, Temp, 1);
Temp.SaveToFile(FileName);
finally
Temp.Free;
end;
end;

Read for full question and answer thread over on the Embarcadero forum.

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

Related posts
C++BuilderDelphiFiremonkeyIDEUtility

Build And Design Delphi FireMonkey Apps With AI Inside RAD Studio

DelphiUtilityWindows

Give AI Agents A Searchable Map Of Firemonkey APIs And Examples

DelphiFiremonkeyLibraryLinuxOSXWindows

Run ONNX Models, Local AI, And GPU Inference Directly From Firemonkey

DelphiDemoFiremonkeyIOSLinuxOSXWindows

Bring OpenAI Agents, Vision, Audio, And Realtime AI To Firemonkey

Sign up for our Newsletter and
stay informed
[mailpoet_form id="1"]

Leave a Reply