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.