| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
La classe ColorTransform vous permet de régler les valeurs de couleur d'un objet d'affichage. Le réglage des couleurs ou
transformation de couleur peut être appliqué aux quatre canaux : rouge, vert, bleu et transparence alpha.
Lorsqu'un objet ColorTransform est appliqué à un objet d'affichage, une nouvelle valeur est calculée de la manière suivante pour chaque canal de couleur :
-
Nouvelle valeur de rouge = (ancienne valeur de rouge *
redMultiplier) + redOffset
-
Nouvelle valeur de vert = (ancienne valeur de vert *
greenMultiplier) + greenOffset
-
Nouvelle valeur de bleu = (ancienne valeur de bleu *
blueMultiplier) + blueOffset
-
Nouvelle valeur alpha = (ancienne valeur alpha *
alphaMultiplier) + alphaOffset
Toute valeur de canal de couleur supérieure à 255 après le calcul est ramenée à 255. Si elle est inférieure à 0, elle est réglée sur 0.
Vous pouvez utiliser les objets ColorTransform comme suit :
-
Dans le paramètre
colorTransform de la méthode colorTransform() de la classe BitmapData.
-
En tant que propriété
colorTransform d'un objet Transform (utilisable comme propriété transform d'un objet d'affichage).
Vous devez utiliser le constructeur new ColorTransform() pour créer un objet ColorTransform avant de pouvoir appeler les méthodes de l'objet ColorTransform.
Les transformations de couleurs ne s'appliquent pas à la couleur d'arrière-plan d'un clip (tel qu'un objet SWF chargé). Elles s'appliquent uniquement aux graphiques et symboles associés au clip.
Consulter les exemples
public var alphaMultiplier:Number| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Valeur décimale multipliée par la valeur du canal de transparence alpha.
Définir directement la valeur de transparence alpha d'un objet d'affichage à l'aide de la propriété alpha de l'occurrence de DisplayObject a une incidence sur la valeur de la propriété alphaMultiplier de la propriété transform.colorTransform de l'objet d'affichage.
Voir aussi
public var alphaOffset:Number| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Nombre, compris entre -255 et 255, qui est ajouté à la valeur du canal de transparence alpha après sa multiplication par la valeur alphaMultiplier.
public var blueMultiplier:Number| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Valeur décimale multipliée par la valeur du canal de bleu.
public var blueOffset:Number| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Nombre, compris entre -255 et 255, qui est ajouté à la valeur du canal de bleu après sa multiplication par la valeur blueMultiplier.
color:uint [lecture-écriture]
| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Valeur de couleur RVB d'un objet ColorTransform.
La définition de cette propriété entraîne la modification des trois valeurs de décalage de couleur (redOffset, greenOffset et blueOffset) et le réglage sur zéro des trois valeurs de multiplicateur de couleur (redMultiplier, greenMultiplier et blueMultiplier). Les valeurs de multiplicateur et de décalage de la transparence alpha ne changent pas.
Lorsque vous définissez la valeur de cette propriété, utilisez le format 0xRRGGBB. Les valeurs RR, GG et BB se composent chacune de deux chiffres hexadécimaux qui spécifient le décalage de chaque composant de couleur. La valeur 0x indique au compilateur ActionScript que le nombre est une valeur hexadécimale.
Implémentation public function get color():uint public function set color(value:uint):voidpublic var greenMultiplier:Number| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Valeur décimale multipliée par la valeur du canal de vert.
public var greenOffset:Number| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Nombre, compris entre -255 et 255, qui est ajouté à la valeur du canal de vert après sa multiplication par la valeur greenMultiplier.
public var redMultiplier:Number| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Valeur décimale multipliée par la valeur du canal de rouge.
public var redOffset:Number| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Nombre, compris entre -255 et 255, qui est ajouté à la valeur du canal de rouge après sa multiplication par la valeur redMultiplier.
public function ColorTransform(redMultiplier:Number = 1.0, greenMultiplier:Number = 1.0, blueMultiplier:Number = 1.0, alphaMultiplier:Number = 1.0, redOffset:Number = 0, greenOffset:Number = 0, blueOffset:Number = 0, alphaOffset:Number = 0)| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Crée un objet ColorTransform pour un objet d'affichage avec les paramètres RVB et alpha spécifiés.
Paramètres | redMultiplier:Number (default = 1.0) — Valeur du multiplicateur de rouge, comprise entre 0 et 1. |
| |
| greenMultiplier:Number (default = 1.0) — Valeur du multiplicateur de vert, comprise entre 0 et 1. |
| |
| blueMultiplier:Number (default = 1.0) — Valeur du multiplicateur de bleu, comprise entre 0 et 1. |
| |
| alphaMultiplier:Number (default = 1.0) — Valeur du multiplicateur de transparence alpha, comprise entre 0 et 1. |
| |
| redOffset:Number (default = 0) — Valeur du décalage appliqué au canal de couleur rouge, comprise entre -255 et 255. |
| |
| greenOffset:Number (default = 0) — Valeur du décalage appliqué au canal de couleur vert, comprise entre -255 et 255. |
| |
| blueOffset:Number (default = 0) — Valeur du décalage appliqué au canal de couleur bleu, comprise entre -255 et 255. |
| |
| alphaOffset:Number (default = 0) — Valeur du décalage appliqué au canal de transparence alpha, comprise entre -255 et 255. |
public function concat(second:ColorTransform):void| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Concatène l'objet ColorTranform, spécifié par le paramètre second, et l'objet ColorTransform actuel en définissant ce dernier comme résultat, ce qui se traduit par l'addition des deux transformations de couleur. L'application de l'objet ColorTransform concaténé revient à appliquer la second transformation de couleur, puis la seconde (original).
Paramètres
| second:ColorTransform — Objet ColorTransform devant être combiné à l'objet ColorTransform actuel. |
public function toString():String| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Formate et renvoie une chaîne qui décrit l'ensemble des propriétés de l'objet ColorTransform.
Valeur renvoyée | String — Chaîne répertoriant toutes les propriétés de l'objet ColorTransform. |
L'exemple suivant utilise la classe TransformExample pour créer une icône animée (sprite) simple, de forme carrée et dont le remplissage est dégradé. Chaque fois que l'utilisateur clique sur le carré, l'application transforme les couleurs de l'icône animée par un ajout sur le canal de la couleur rouge et un éclaircissement sur le canal de la couleur bleue. Cette opération se déroule selon la procédure suivante :
-
Le constructeur crée un nouvel objet Sprite
target.
-
Le constructeur
CustomButton() appelle la méthode draw() qui dessine un carré dégradé dans l'icône animée (sprite).
-
Le constructeur
CustomButton() ajoute un écouteur d'événement clic pour le sprite ; il est géré par le biais de la méthode clickHandler().
-
Dans la méthode
clickHandler(), deux propriétés sont défnies sur les propriétés redOffset et blueOffset de la transformation de couleur actuelle. Chacune d'elles est réglée sur 25. La propriété de l'icône animée carrée transform.colorTransform est ensuite modifiée pour utiliser les nouvelles valeurs de décalage. Chaque fois que l'utilisateur clique sur le carré, l'appel de la méthode clickHandler() modifie la couleur du carré en augmentant sa valeur de couleur rouge et en diminuant celle de couleur bleue.
package {
import flash.display.Sprite;
import flash.display.GradientType;
import flash.geom.ColorTransform;
import flash.events.MouseEvent;
public class ColorTransformExample extends Sprite {
public function ColorTransformExample() {
var target:Sprite = new Sprite();
draw(target);
addChild(target);
target.useHandCursor = true;
target.buttonMode = true;
target.addEventListener(MouseEvent.CLICK, clickHandler)
}
public function draw(sprite:Sprite):void {
var red:uint = 0xFF0000;
var green:uint = 0x00FF00;
var blue:uint = 0x0000FF;
var size:Number = 100;
sprite.graphics.beginGradientFill(GradientType.LINEAR, [red, blue, green], [1, 0.5, 1], [0, 200, 255]);
sprite.graphics.drawRect(0, 0, 100, 100);
}
public function clickHandler(event:MouseEvent):void {
var rOffset:Number = transform.colorTransform.redOffset + 25;
var bOffset:Number = transform.colorTransform.redOffset - 25;
this.transform.colorTransform = new ColorTransform(1, 1, 1, 1, rOffset, 0, bOffset, 0);
}
}
}
© 2004-2008 Adobe Systems Incorporated. All rights reserved.
Thu Jan 8 2009, 03:00 AM -08:00