Apply Delphi Firemonkey Filter Effects With Code

Apply Firemonkey Filter Effects In CodeIf you’ve ever used the Delphi Firemonkey image filter effect components you may have experienced some of their limitations. The way the filter effect components work is that you drop a filter on a Firemonkey control and that filter is applied to the visible output of that control whether it is a TButton or a TImage. You can make a whole Firemonkey form interface Sepia very quickly by the way. The one problem with this is that filters do not stack. You can’t put a THueAdjustEffect and a TContrastEffect filter on the same component and have them both applied (as far as I’ve tested anyway). The solution to this if you want to apply multiple filters to a bitmap is to apply the filters using code. Luckily there is a blog post that describes exactly how to do this. An additional plus is that this also allows you to apply filters to controls that are not currently visible (like an offscreen bitmap or a buffer image). Apparently the key is the ApplyWithoutCopyToOutput procedure.

Read the full blog post and get the full code snippet.

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

Leave a Reply

Show Buttons
Hide Buttons
Read previous post:
Custom Filter Effect Image Shaders In Delphi Firemonkey For Android And IOS

One useful feature of Delphi Firemonkey is that because it draws all the forms using your 3D card you have...