Application des effets d'image FireMonkey

De RAD Studio
Aller à : navigation, rechercher

Remonter à Effets d'image FireMonkey


Les effets FireMonkey sont des composants non visuels qui résident dans la catégorie Effets sur la Palette d'outils. Un effet a un résultat visuel seulement s'il est l'enfant d'un composant visuel. Vous pouvez appliquer les effets sur tout composant 2D. Les effets d'image ne fonctionnent pas avec les contrôles 3D. Toutefois, ils fonctionnent avec TViewport3D, un contrôle 2D qui affiche du contenu 3D.

Application des effets d'image FireMonkey sur les composants visuels

Pour appliquer un effet, suivez les étapes ci-après :

1. Dans la Palette d'outils, double-cliquez sur l'effet désiré. Cela ajoute l'effet à la fiche. Vous pouvez voir l'effet ajouté dans la vue Structure en tant qu'enfant de la fiche elle-même :

Choose Effect from Tool Palette.png

Effect in Structure View.png

Effets dans la Palette d'outils

Effet ajouté à une fiche


2. Dans la vue Structure, faites glisser l'effet sous le composant sur lequel l'effet doit être appliqué. L'effet est maintenant l'enfant d'un composant visuel, dans ce cas Image1 :

Child effect.png

L'effet TBloomEffect est appliqué sur une image

Personnalisation des propriétés d'effet

Presque tous les effets ont des propriétés spécifiques que vous pouvez personnaliser selon l'application. Les propriétés peuvent être trouvées dans l'inspecteur d'objets quand l'effet est sélectionné dans la vue Structure :

Effects properties.png

Propriétés TBloomEffect

Quand un effet est appliqué, tous les pixels du composant sont affectés. Le résultat visuel dépend des pixels du composant à personnaliser. Par exemple, les effets qui sont particulièrement orientés alpha ne changent pas les pixels transparents. Le résultat visuel d'un effet peut être intensifié en changeant les propriétés spécifiques de l'effet.

Dans l'exemple suivant, l'effet TBloomEffect est appliqué sur Button1, et aucun effet n'est appliqué sur Button2. Puisque les couleurs par défaut du bouton sont déjà vives, l'effet TBloomEffect, avec les valeurs par défaut pour ses propriétés, n'a pas de résultat visible. Mais si vous changez les propriétés de l'effet TBloomEffect, le résultat devient visible :

Propriétés Résultat

Default properties.png

Default properties result.png

Customized properties.png

Customized properties result.png


Par défaut, la propriété Enabled d'un effet est définie sur True, et l'effet est appliqué juste après qu'un composant visuel devienne son parent. L'indicateur Enabled d'un effet peut être défini par programme ou dans le Concepteur de fiches:

Définir Enabled dans l'inspecteur d'objets Définir Enabled par programme

Set Enable.png

Delphi :

BloomEffects1.Enable := False;

C++ :

BloomEffects1->Enable = false;

Définition des déclencheurs d'effets

Les effets d'image peuvent être déclenchés depuis les changements de propriétés, en définissant l'indicateur Enabled en réponse. Les déclencheurs ne fonctionnent pas avec chaque propriété arbitraire, mais seulement avec des propriétés particulières qui sont vérifiées pendant le traitement interne des événements du composant. Tous les déclencheurs intégrés vérifient les propriétés booléennes, et par convention les noms de ces propriétés commencent par "Is".

TControl fournit quatre déclencheurs pour chaque contrôle et forme :

  • IsDragOver
  • IsFocused
  • IsMouseOver (nécessite que HitTest soit défini sur True)
  • IsVisible

Voici d'autres déclencheurs intégrés :

Remarque : Un jeu de déclencheurs légèrement différent est fourni pour les effets d'animation. FMX.Controls.TControl définit les procédures StartTriggerAnimation, StartTriggerAnimationWait et StopTriggerAnimation en plus de ApplyTriggerEffect.

Les effets peuvent être définis pour s'appliquer quand l'une de ces propriétés change suite à une action de l'utilisateur ou au code. Quand la condition du déclencheur n'est plus en vigueur, l'effet est retiré. Les conditions des déclencheurs sont limitées aux vérifications d'égalité, et si le déclencheur contient plusieurs conditions, elles doivent toutes être évaluées à true pour que le déclencheur se déclenche.

Un déclencheur est exprimé sous la forme d'une chaîne contenant une ou plusieurs conditions de déclencheur, séparées par des points-virgules. Chaque condition de déclencheur est constituée du nom de la propriété, d'un signe égal et de la valeur de déclenchement. Tous les déclencheurs intégrés sont booléens, ainsi leur valeur doit être True ou False. Par exemple :

     Delphi :
IsMouseOver := True;
IsPressed := False;
     C++ :
IsMouseOver = true;
IsPressed = false;

Les conditions de déclencheur sont stockées dans la propriété Trigger.

Effets d'animation

Quelques effets d'image très simples tels que TInvertEffect n'ont pas de propriétés supplémentaires ; ils sont activés ou désactivés. Mais la plupart des effets ont des propriétés qui contrôlent les aspects de leur comportement, tels qu'une intensité numérique ou un compteur. En particulier, les transitions ont une propriété Progress, un pourcentage de 0 à 100. Un TFloatAnimation peut être attaché à ces propriétés dans le code ou par le biais de l'inspecteur d'objets pour créer des effets visuels dynamiques. Pour animer la progression de la transformation, voir Appliquer un effet d'animation à une propriété d'un effet d'image.

Voir aussi