Application des effets d'image FireMonkey
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.
Sommaire
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 :
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 :
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 :
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 |
---|---|
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 |
---|---|
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 :
- IsActive (TCustomForm)
- IsChecked (TMenuItem)
- IsOpen (TEffect)
- IsPressed (FMX.StdCtrls.TCustomButton)
- IsSelected (TMenuItem, TTabItem, TListBoxItem, TTreeViewItem)
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.