Show: DelphiC++
Show: Win32LinuxOS X
Display Preferences

FireMonkey Image Effects

From RAD Studio XE2

Jump to: navigation, search

Go Up to FireMonkey Applications Guide

Contents


The FireMonkey built-in ImageFX engine provides over 50 GPU-powered effects. These effects are nonvisual components that can be found in the Effects category on the Tool Palette. All the provided effects can be simply enabled or disabled by setting the Enabled flag from the Form Designer, or programmatically.

Almost all the effects have specific properties that you can customize depending on the application. For example, all transition effects have the Progress property, which is used to set the amount of progress (in percentages, %) through the transition from the first texture to the second texture. The specified properties can be found in the Object Inspector when the effect is selected in the Structure View. All numeric properties of any effect can be animated to provide a gradual evolution in time. Image effects can also be triggered.

FireMonkey effects are built using shaders filters. The shaders modify pixels, either individually or in concert with others, to achieve various visual effects. These effects are not limited to bitmap image data; effects can be applied to the pixels of any 2D control in the user interface. Effects can be used at run time or at design time to change the look of the application's user interface. The FireMonkey effects do not disable any controls or functionalities when they are applied.

For more information about applying a FireMonkey effect, see Applying FireMonkey Image Effects.

Kinds of Image Effects

The provided subclasses of TEffect fall into the categories listed in the following table. Each category is further described and illustrated later in this topic.

Effects that modify
pixels individually
Effects that consider
a pixel's neighbors
Additive effects Effects that modify
the image as a whole
Transition effects

File:TInvertEffect.png TInvertEffect

File:TColorKeyAlphaEffect.png TColorKeyAlphaEffect

File:TMaskToAlphaEffect.png TMaskToAlphaEffect

File:TMonochromeEffect.png TMonochromeEffect

File:TBloomEffect.png TBloomEffect

File:TGloomEffect.png TGloomEffect

File:TContrastEffect.png TContrastEffect

File:THueAdjustEffect.png THueAdjustEffect

File:TFillRGBEffect.png TFillRGBEffect

File:TFillEffect.png TFillEffect

Blur

File:TBlurEffect.png TBlurEffect

File:TDirectionalBlurEffect.png TDirectionalBlurEffect

File:TBoxBlurEffect.png TBoxBlurEffect

File:TGaussianBlurEffect.png TGaussianBlurEffect

File:TRadialBlurEffect.png TRadialBlurEffect

Distortions

File:TBandedSwirlEffect.png TBandedSwirlEffect

File:TBandsEffect.png TBandsEffect

File:TMagnifyEffect.png TMagnifyEffect

File:TPinchEffect.png TPinchEffect

File:TRippleEffect.png TRippleEffect

File:TSmoothMagnifyEffect.png TSmoothMagnifyEffect

File:TSwirlEffect.png TSwirlEffect

File:TWaveEffect.png TWaveEffect

File:TWrapEffect.png TWrapEffect

File:TGlowEffect.png TGlowEffect

File:TInnerGlowEffect.png TInnerGlowEffect

File:TReflectionEffect.png TReflectionEffect

File:TShadowEffect.png TShadowEffect

File:TEmbossEffect.png TEmbossEffect

File:TPaperSketchEffect.png TPaperSketchEffect

File:TPencilStrokeEffect.png TPencilStrokeEffect

File:TPixelateEffect.png TPixelateEffect

File:TSepiaEffect.png TSepiaEffect

File:TSharpenEffect.png TSharpenEffect

File:TToonEffect.png TToonEffect

File:TAffineTransformEffect.png TAffineTransformEffect

File:TCropEffect.png TCropEffect

File:TNormalBlendEffect.png TNormalBlendEffect

File:TPerspectiveTransformEffect.png TPerspectiveTransformEffect

File:TTilerEffect.png TTilerEffect

File:TBandedSwirlTransitionEffect.png TBandedSwirlTransitionEffect

File:TBlindTransitionEffect.png TBlindTransitionEffect

File:TBloodTransitionEffect.png TBloodTransitionEffect

File:TBlurTransitionEffect.png TBlurTransitionEffect

File:TBrightTransitionEffect.png TBrightTransitionEffect

File:TCircleTransitionEffect.png TCircleTransitionEffect

File:TCrumpleTransitionEffect.png TCrumpleTransitionEffect

File:TDissolveTransitionEffect.png TDissolveTransitionEffect

File:TDropTransitionEffect.png TDropTransitionEffect

File:TFadeTransitionEffect.png TFadeTransitionEffect

File:TLineTransitionEffect.png TLineTransitionEffect

File:TMagnifyTransitionEffect.png TMagnifyTransitionEffect

File:TPixelateTransitionEffect.png TPixelateTransitionEffect

File:TRippleTransitionEffect.png TRippleTransitionEffect

File:TRotateCrumpleTransitionEffect.png TRotateCrumpleTransitionEffect

File:TSaturateTransitionEffect.png TSaturateTransitionEffect

File:TShapeTransitionEffect.png TShapeTransitionEffect

File:TSlideTransitionEffect.png TSlideTransitionEffect

File:TSwirlTransitionEffect.png TSwirlTransitionEffect

File:TWaterTransitionEffect.png TWaterTransitionEffect

File:TWaveTransitionEffect.png TWaveTransitionEffect

File:TWiggleTransitionEffect.png TWiggleTransitionEffect


Effects that modify pixels individually

These effects typically apply changes to color. Each pixel's color can be considered on its own. The table below shows some of this kind of effect:

Effect Result Description Effect Result Description

None

No effects applied.

TMonochromeEffect

Grayscale transformation.

TInvertEffect

Inverts the color of each pixel

TContrastEffect

Adjusting contrast

THueAdjustEffect

Adjusting hue

Fill effects

TFillRGBEffect or

TFillEffect

Color filling, either preserving alpha or completely overwriting.

Effects that consider a pixel's neighbors

This type of effect is applied using algorithms that use a pixel's neighbors to define the new value of the pixel. The table below shows some of this kind of effect:

Blur effects

Effect Result Description Effect Result Description

None

No effects applied.

TGaussianBlurEffect

Gaussian blur

TBoxBlurEffect

Box blur

TDirectionalBlurEffect

Directional blur

TRadialBlurEffect

Radial blur

TBlurEffect

Stack Blur

Various distortions

Effect Result Description Effect Result Description

None

No effects applied.

Swirls effects

TSwirlEffect and

TBandedSwirlEffect

Swirls the input image.

TWaveEffect

Applies a wave patterns

TEmbossEffect

Outlines the input image

TPixelateEffect

Reduces the input details

TMagnifyEffect

Magnifying glass.

Effects that modify the image as a whole

This kinds of effect applies geometric changes over the input image. The table below shows some of this kind of effect:

Effect Result Description Effect Result Description

None

No effects applied.

TCropEffect

Swirls the input image.

TAffineTransformEffect

Rotates and scales the input image.

TPerspectiveTransformEffect

3D perfective

TNormalBlendEffect

Overlies two images. This work when the overlay has some transparency.

TTilerEffect

Additive effects

This kind of effect affects the images by adding new elements to the original image. The elements can be added to the edges of the image or to the entire image. The table below shows some of this kind of effect:

Effect Opaque image Image with transparent areas Description

None

File:FireMonkey logo NoEffects.PNG

No effects applied.

TGlowEffect

File:FireMonkey logo TGlowEffect.PNG

Adds a glowing band

|TInnerGlowEffect

File:FireMonkey logo TInnerGlowEffect.PNG

Add a glowing band in the interior of the nontransparent areas.

TShadowEffect

File:FireMonkey logo TShadowEffect.PNG

Add shadow to the nontransparent areas.

TReflectionEffect

File:FireMonkey logo TReflectionEffect.PNG

Add reflection to the entire image

Transition effects

FireMonkey includes over twenty image transition effects, in which source pixels are progressively transformed into a target bitmap image, from simple fades to fancy banded swirls. The progress of the transformation is deterministic and can be set to an arbitrary percentage. This percentage can be animated to transition over time. To animate the progress of the transformation, see Apply an Animation Effect to a Property of an Image Effect.

The table below shows some animated transitions:

Transition Result Transition Result

TBandedSwirlTransitionEffect

TCircleTransitionEffect

TFadeTransitionEffect

TMagnifyTransitionEffect

FireMonkey Image Sample Program

The ShaderFilters sample program demonstrates many of the FireMonkey image effects, except the additive effects and the basic stack blur.

See Also

Personal tools
Previous Versions
In other languages