Packageflash.filters
Classepublic final class DisplacementMapFilter
HéritageDisplacementMapFilter Inheritance BitmapFilter Inheritance Object

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

La classe DisplacementMapFilter utilise les valeurs de pixels de l'objet BitmapData spécifié (appelé displacement map image) pour déplacer un objet. Vous pouvez utiliser ce filtre pour appliquer un effet voilé ou tacheté à tout objet héritant des propriétés de la classe DisplayObject, tels que MovieClip, SimpleButton, TextField et Video, ainsi qu’aux objets BitmapData.

L'utilisation de filtres dépend de l’objet auquel vous appliquez le filtre.

Si vous appliquez un filtre à un objet d’affichage, la valeur de la propriété cacheAsBitmap de cet objet est définie sur true. Si vous supprimez tous les filtres, la valeur d'origine de cacheAsBitmap est restaurée.

Le filtre utilise la formule suivante :

dstPixel[x, y] = srcPixel[x + ((componentX(x, y) - 128) * scaleX) / 256, y + ((componentY(x, y) - 128) *scaleY) / 256)

componentX(x, y) extrait la valeur de couleur de la propriété componentX de la propriété mapBitmap, à (x - mapPoint.x, y - mapPoint.y).

L'image de mappage utilisée par le filtre est redimensionnée en fonction de l’échelle de la scène. Elle n'est en aucun cas redimensionnée lorsque l'objet l'est.

Ce filtre prend en charge le redimensionnement de la scène. Mais le redimensionnement général, la rotation et l'inclinaison ne sont pas gérés. Si l'objet lui-même est redimensionné (si les propriétés scaleX et scaleY ne correspondent pas à 1,0), l'effet du filtre n'est pas redimensionné. Le redimensionnement est effectué uniquement en cas de zoom avant sur la scène.

Consulter les exemples

Voir aussi

flash.display.BitmapData.applyFilter()
flash.display.DisplayObject.filters
flash.display.DisplayObject.cacheAsBitmap


Propriétés publiques
 PropriétéDéfini par
  alpha : Number
Spécifie la transparence alpha à utiliser pour les déplacements en dehors des limites.
DisplacementMapFilter
  color : uint
Spécifie la couleur à utiliser pour les déplacements en dehors des limites.
DisplacementMapFilter
  componentX : uint
Décrit le canal de couleur à utiliser dans l'image de mappage pour déplacer le résultat x.
DisplacementMapFilter
  componentY : uint
Décrit le canal de couleur à utiliser dans l'image de mappage pour déplacer le résultat y.
DisplacementMapFilter
 Inheritedconstructor : Object
Référence à l'objet de classe ou à la fonction constructeur d'une occurrence donnée d'un objet.
Object
  mapBitmap : BitmapData
Objet BitmapData contenant les données de mappage du déplacement.
DisplacementMapFilter
  mapPoint : Point
Valeur contenant le décalage du coin supérieur gauche de l’objet d’affichage cible par rapport au coin supérieur gauche de l'image de mappage.
DisplacementMapFilter
  mode : String
Mode du filtre.
DisplacementMapFilter
 Inheritedprototype : Object
[static] Référence à l’objet prototype d’un objet de classe ou fonction.
Object
  scaleX : Number
Multiplicateur à utiliser pour redimensionner le résultat du déplacement x à partir du calcul de mappage.
DisplacementMapFilter
  scaleY : Number
Multiplicateur à utiliser pour redimensionner le résultat du déplacement y à partir du calcul de mappage.
DisplacementMapFilter
Méthodes publiques
 MéthodeDéfini par
  
DisplacementMapFilter(mapBitmap:BitmapData = null, mapPoint:Point = null, componentX:uint = 0, componentY:uint = 0, scaleX:Number = 0.0, scaleY:Number = 0.0, mode:String = "wrap", color:uint = 0, alpha:Number = 0.0)
Initialise une occurrence de DisplacementMapFilter avec les paramètres spécifiés.
DisplacementMapFilter
  
Renvoie une copie de cet objet filtre.
DisplacementMapFilter
 Inherited
Indique si la propriété spécifiée d'un objet est définie.
Object
 Inherited
Indique si une occurrence de la classe Object figure dans la chaîne de prototype de l'objet spécifié en tant que paramètre.
Object
 Inherited
Indique si la propriété spécifiée existe et est énumérable.
Object
 Inherited
Définit la disponibilité d'une propriété dynamique pour les opérations en boucle.
Object
 Inherited
Renvoie la représentation sous forme de chaîne de l'objet spécifié.
Object
 Inherited
Renvoie la valeur primitive de l'objet spécifié.
Object
Détails des propriétés
alphapropriété
alpha:Number  [lecture-écriture]

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Spécifie la transparence alpha à utiliser pour les déplacements en dehors des limites. Elle est spécifiée en tant que valeur normalisée comprise entre 0,0 et 1,0. Par exemple, 0,25 définit une valeur de transparence de 25 %. La valeur par défaut est 0. Utilisez cette propriété si la propriété mode est réglée sur DisplacementMapFilterMode.COLOR.


Implémentation
    public function get alpha():Number
    public function set alpha(value:Number):void
colorpropriété 
color:uint  [lecture-écriture]

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Spécifie la couleur à utiliser pour les déplacements en dehors des limites. La plage valide est comprise entre 0,0 et 1,0. Les valeurs sont au format hexadécimal. La valeur par défaut pour color est 0. Utilisez cette propriété si la propriété mode est réglée sur DisplacementMapFilterMode.COLOR.


Implémentation
    public function get color():uint
    public function set color(value:uint):void
componentXpropriété 
componentX:uint  [lecture-écriture]

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Décrit le canal de couleur à utiliser dans l'image de mappage pour déplacer le résultat x. Les valeurs possibles sont les constantes BitmapDataChannel :


Implémentation
    public function get componentX():uint
    public function set componentX(value:uint):void

Voir aussi

componentYpropriété 
componentY:uint  [lecture-écriture]

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Décrit le canal de couleur à utiliser dans l'image de mappage pour déplacer le résultat y. Les valeurs possibles sont les constantes BitmapDataChannel :


Implémentation
    public function get componentY():uint
    public function set componentY(value:uint):void

Voir aussi

mapBitmappropriété 
mapBitmap:BitmapData  [lecture-écriture]

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Objet BitmapData contenant les données de mappage du déplacement.


Implémentation
    public function get mapBitmap():BitmapData
    public function set mapBitmap(value:BitmapData):void

Lance
TypeError — L’objet BitmapData prend la valeur null lors de sa définition.

Voir aussi

mapPointpropriété 
mapPoint:Point  [lecture-écriture]

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Valeur contenant le décalage du coin supérieur gauche de l’objet d’affichage cible par rapport au coin supérieur gauche de l'image de mappage.


Implémentation
    public function get mapPoint():Point
    public function set mapPoint(value:Point):void

Lance
TypeError — Le Point prend la valeur null lors de sa définition.

Voir aussi

modepropriété 
mode:String  [lecture-écriture]

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Mode du filtre. Les valeurs possibles sont les constantes DisplacementMapFilterMode :


Implémentation
    public function get mode():String
    public function set mode(value:String):void

Lance
TypeError — La chaîne prend la valeur null lors de sa définition.
 
ArgumentError — La chaîne de mode ne correspond pas à un des types gérés.

Voir aussi

scaleXpropriété 
scaleX:Number  [lecture-écriture]

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Multiplicateur à utiliser pour redimensionner le résultat du déplacement x à partir du calcul de mappage.


Implémentation
    public function get scaleX():Number
    public function set scaleX(value:Number):void
scaleYpropriété 
scaleY:Number  [lecture-écriture]

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Multiplicateur à utiliser pour redimensionner le résultat du déplacement y à partir du calcul de mappage.


Implémentation
    public function get scaleY():Number
    public function set scaleY(value:Number):void
Détails du constructeur
DisplacementMapFilter()Constructeur
public function DisplacementMapFilter(mapBitmap:BitmapData = null, mapPoint:Point = null, componentX:uint = 0, componentY:uint = 0, scaleX:Number = 0.0, scaleY:Number = 0.0, mode:String = "wrap", color:uint = 0, alpha:Number = 0.0)

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Initialise une occurrence de DisplacementMapFilter avec les paramètres spécifiés.

Paramètres
mapBitmap:BitmapData (default = null) — Objet BitmapData contenant les données de mappage du déplacement.
 
mapPoint:Point (default = null) — Valeur contenant le décalage du coin supérieur gauche de l’objet d’affichage cible par rapport au coin supérieur gauche de l'image de mappage.
 
componentX:uint (default = 0) — Décrit le canal de couleur à utiliser dans l'image de mappage pour déplacer le résultat x. Les valeurs possibles sont les constantes BitmapDataChannel.
 
componentY:uint (default = 0) — Décrit le canal de couleur à utiliser dans l'image de mappage pour déplacer le résultat y. Les valeurs possibles sont les constantes BitmapDataChannel.
 
scaleX:Number (default = 0.0) — Multiplicateur à utiliser pour redimensionner le résultat du déplacement x à partir du calcul de mappage.
 
scaleY:Number (default = 0.0) — Multiplicateur à utiliser pour redimensionner le résultat du déplacement y à partir du calcul de mappage.
 
mode:String (default = "wrap") — Mode du filtre. Les valeurs possibles sont les constantes DisplacementMapFilterMode.
 
color:uint (default = 0) — Spécifie la couleur à utiliser pour les déplacements en dehors des limites. La plage valide est comprise entre 0,0 et 1,0. Utilisez ce paramètre si la propriété mode est réglée sur DisplacementMapFilterMode.COLOR.
 
alpha:Number (default = 0.0) — Spécifie la valeur alpha à utiliser pour les déplacements en dehors des limites. Elle est spécifiée en tant que valeur normalisée comprise entre 0,0 et 1,0. Par exemple, 0,25 définit une valeur de transparence de 25 %. Utilisez ce paramètre si la propriété mode est réglée sur DisplacementMapFilterMode.COLOR.

Voir aussi

Détails des méthodes
clone()méthode
public override function clone():BitmapFilter

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Renvoie une copie de cet objet filtre.

Valeur renvoyée
BitmapFilter — Nouvelle occurrence de DisplacementMapFilter dont les propriétés sont toutes identiques à celles de l'occurrence d'origine.
Exemples Utilisation des exemples
DisplacementMapFilterExample.as

L'exemple suivant dessine un carré avec un remplissage en dégradé radial, une zone de texte et un objet BitmapData sont créés et un filtre de mappage du déplacement est appliqué à l'objet DisplacementMapFilterExample. La séquence des principales tâches de cet exemple s'organise comme suit :
  1. La classe définit des variables pour la couleur de l'arrière-plan, le libellé de la zone de texte, ainsi que pour la taille et le décalage qui seront utilisés dans diverses fonctions.
  2. La fonction constructeur appelle la méthode draw() qui utilise les méthodes de la classe Graphics pour dessiner un carré avec un remplissage en dégradé radial. Remarquez que graphics est une propriété de l'objet DisplacementMapFilterExample qui étend Sprite.
  3. La fonction constructeur appelle la méthode createLabel() qui crée une zone de texte affichant la valeur de labelText et l'ajoute à la liste d'affichage.
  4. La fonction constructeur appelle la méthode createFilter() qui effectue les actions suivantes :
    • Création d'une variable nommée filter pour l'objet filtre.
    • Appel de la méthode getDisplacementMapFilter() et attribution de sa valeur renvoyée à la variable filter.
    • Transmission de filter à la propriété filters de l'objet DisplacementFilterExample (la classe principale).
  5. La méthode getBitmapFilter() crée un objet BitmapData nommé mapBitmap et lui attribue les résultat de la méthode createBitmapData(). L'objet mapBitmap, parallèlement à d'autres variables, définit un nouveau filtre de mappage du déplacement.
  6. La méthode createBitmapData() crée un nouvel objet BitmapData basé sur le contenu actuel de l'objet DisplacementMapFilterExample. Un nouveau bitmap est créé d'après bitmapData et il est ajouté à la scène.
package {
    import flash.display.Bitmap;
    import flash.display.BitmapData;
    import flash.display.BitmapDataChannel;
    import flash.display.GradientType;
    import flash.display.SpreadMethod;
    import flash.display.Sprite;
    import flash.filters.BitmapFilter;
    import flash.filters.DisplacementMapFilter;
    import flash.filters.DisplacementMapFilterMode;
    import flash.geom.Matrix;
    import flash.geom.Point;
    import flash.text.TextField;
    
    public class DisplacementMapFilterExample extends Sprite {
        private var bgColor:uint     = 0xFFCC00;
        private var size:uint        = 200;
        private var offset:uint      = 90;
        private var labelText:String = "Watch the text bend with the displacement map";

        public function DisplacementMapFilterExample() {
            draw();
            createLabel();
            createFilter();
        }

        private function createFilter():void {
            var filter:BitmapFilter = getBitmapFilter();
            filters = new Array(filter);
        }

        private function getBitmapFilter():BitmapFilter {
            var mapBitmap:BitmapData = createBitmapData();
            var mapPoint:Point       = new Point(0, 0);
            var channels:uint        = BitmapDataChannel.RED;
            var componentX:uint      = channels;
            var componentY:uint      = channels;
            var scaleX:Number        = 0.5;
            var scaleY:Number        = -30;
            var mode:String          = DisplacementMapFilterMode.CLAMP;
            var color:uint           = 0;
            var alpha:Number         = 0;
            return new DisplacementMapFilter(mapBitmap,
                                             mapPoint,
                                             componentX,
                                             componentY,
                                             scaleX,
                                             scaleY,
                                             mode,
                                             color,
                                             alpha);
        }

        private function draw():void {
            var matrix:Matrix = new Matrix();
            matrix.createGradientBox(size, size);
            graphics.beginGradientFill(GradientType.RADIAL,
                                       [0xFF0000, 0x0000FF],
                                       [100, 100],
                                       [55, 200],
                                       matrix,
                                       SpreadMethod.PAD);
            graphics.drawRect(0, 0, size, size);
        }

        private function createBitmapData():BitmapData {
            var bitmapData:BitmapData = new BitmapData(size, size, true, bgColor);
            bitmapData.draw(this, new Matrix());
            var bitmap:Bitmap = new Bitmap(bitmapData);
            bitmap.x = size;
            addChild(bitmap);
            return bitmapData;
        }

        private function createLabel():void {
            var tf:TextField = new TextField();
            tf.text = labelText;
            tf.y = offset;
            tf.width = size;
            addChild(tf);
        }
    }
}




 

M'envoyer un message électronique lorsque des commentaires sont ajoutés à cette page | Rapport de commentaire

Page en cours: http://livedocs.adobe.com/flash/9.0_fr/ActionScriptLangRefV3/flash/filters/DisplacementMapFilter.html