Package | flash.filters |
Classe | public final class DisplacementMapFilter |
Héritage | DisplacementMapFilter BitmapFilter Object |
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, Flash Player 9 |
L’utilisation de filtres dépend de l’objet auquel vous appliquez le filtre.
- Pour appliquer des filtres à un objet d’affichage, utilisez la propriété
filters
de cet objet. Lorsque vous définissez la propriétéfilters
d’un objet, celui-ci n’est pas modifié. En outre, vous pouvez supprimer la propriétéfilters
pour enlever le filtre. - Pour appliquer des filtres aux objets BitmapData, utilisez la méthode
BitmapData.applyFilter()
. L’appel deapplyFilter()
pour un objet BitmapData génère une image filtrée à partir de l’objet BitmapData source et de l’objet 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)
où 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.
Eléments de l’API associés
flash.display.DisplayObject.filters
flash.display.DisplayObject.cacheAsBitmap
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 | ||
constructor : 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 | ||
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éthode | Dé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 | ||
[override]
Renvoie une copie de cet objet filtre. | DisplacementMapFilter | ||
Indique si la propriété spécifiée d’un objet est définie. | Object | ||
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 | ||
Indique si la propriété spécifiée existe et est énumérable. | Object | ||
Définit la disponibilité d’une propriété dynamique pour les opérations en boucle. | Object | ||
Renvoie la représentation de chaîne de cet objet, formatée selon les paramètres régionaux en vigueur. | Object | ||
Renvoie la représentation sous forme de chaîne de l’objet spécifié. | Object | ||
Renvoie la valeur primitive de l’objet spécifié. | Object |
alpha | propriété |
alpha:Number
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, 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
color | propriété |
color:uint
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, 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
componentX | propriété |
componentX:uint
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, 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 :
BitmapDataChannel.ALPHA
BitmapDataChannel.BLUE
BitmapDataChannel.GREEN
BitmapDataChannel.RED
Implémentation
public function get componentX():uint
public function set componentX(value:uint):void
Eléments de l’API associés
componentY | propriété |
componentY:uint
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, 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 :
BitmapDataChannel.ALPHA
BitmapDataChannel.BLUE
BitmapDataChannel.GREEN
BitmapDataChannel.RED
Implémentation
public function get componentY():uint
public function set componentY(value:uint):void
Eléments de l’API associés
mapBitmap | propriété |
mapBitmap:BitmapData
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, 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
Valeur émise
TypeError — L’objet BitmapData prend la valeur null lors de sa définition.
|
Eléments de l’API associés
mapPoint | propriété |
mapPoint:Point
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, 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
Valeur émise
TypeError — Le Point prend la valeur null lors de sa définition.
|
Eléments de l’API associés
mode | propriété |
mode:String
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, Flash Player 9 |
Mode du filtre. Les valeurs possibles sont les constantes DisplacementMapFilterMode :
DisplacementMapFilterMode.WRAP
— Ramène la valeur de déplacement à l’autre côté de l’image source.DisplacementMapFilterMode.CLAMP
— Corrige la valeur de déplacement en fonction du bord de l’image source.DisplacementMapFilterMode.IGNORE
— Si la valeur de déplacement est hors limites, ignore le déplacement et utilise le pixel source.DisplacementMapFilterMode.COLOR
— Si la valeur de déplacement est en dehors de l’image, remplace les valeurs des propriétéscolor
etalpha
.
Implémentation
public function get mode():String
public function set mode(value:String):void
Valeur émise
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.
|
Eléments de l’API associés
scaleX | propriété |
scaleX:Number
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, 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
scaleY | propriété |
scaleY:Number
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, 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
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 |
Versions du moteur d’exécution: | AIR 1.0, Flash Player 9 |
Initialise une occurrence de DisplacementMapFilter avec les paramètres spécifiés.
ParamètresmapBitmap: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 .
|
Eléments de l’API associés
clone | () | méthode |
override public function clone():BitmapFilter
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, Flash Player 9 |
Renvoie une copie de cet objet filtre.
Valeur renvoyéeBitmapFilter — Nouvelle occurrence de DisplacementMapFilter dont les propriétés sont toutes identiques à celles de l’occurrence d’origine.
|
- 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.
- 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 quegraphics
est une propriété de l’objet DisplacementMapFilterExample qui étend Sprite. - La fonction constructeur appelle la méthode
createLabel()
qui crée une zone de texte affichant la valeur delabelText
et l’ajoute à la liste d’affichage. - 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 variablefilter
. - Transmission de
filter
à la propriétéfilters
de l’objet DisplacementFilterExample (la classe principale).
- Création d’une variable nommée
- La méthode
getBitmapFilter()
crée un objet BitmapData nommémapBitmap
et lui attribue les résultat de la méthodecreateBitmapData()
. L’objetmapBitmap
, parallèlement à d’autres variables, définit un nouveau filtre de mappage du déplacement. - La méthode
createBitmapData()
crée un nouvel objet BitmapData basé sur le contenu actuel de l’objet DisplacementMapFilterExample. Une nouvelle image bitmap est créée d’aprèsbitmapData
et est ajoutée à 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); } } }
Tue Jun 12 2018, 09:30 AM Z