Guide de référence ActionScript® 3.0 pour la plate-forme Adobe® Flash®
Accueil  |  Masquer la liste des packages et des classes |  Packages  |  Classes  |  Nouveautés  |  Index  |  Annexes  |  Pourquoi existe-t-il du contenu en anglais ?
Filtres : Récupération des données du serveur...
Récupération des données du serveur...
flash.display 

Bitmap  - AS3

Packageflash.display
Classepublic class Bitmap
HéritageBitmap Inheritance DisplayObject Inheritance EventDispatcher Inheritance Object
Sous-classes FlexBitmap

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

La classe Bitmap représente les objets d’affichage qui représentent les images bitmap. Ces images peuvent être chargées avec la classe flash.display.Loader ou créées à l’aide du constructeur Bitmap().

Le constructeur Bitmap() vous permet de créer un objet Bitmap contenant une référence à un objet BitmapData. Après avoir créé un objet Bitmap, utilisez la méthode addChild() ou addChildAt() de l’occurrence parent de DisplayObjectContainer pour placer cet objet dans la liste d’affichage.

Un objet Bitmap peut partager ses références BitmapData entre plusieurs objets Bitmap, indépendamment des propriétés de translation ou de rotation. La création de plusieurs objets Bitmap référençant un même objet BitmapData étant possible, plusieurs objets d’affichage peuvent utiliser le même objet BitmapData complexe sans faire appel aux ressources supplémentaires de mémoire requises par un objet BitmapData pour chaque occurrence d’objet d’affichage.

Un objet BitmapData peut être dessiné à l’écran par un objet Bitmap de deux façons : avec le rendu vectoriel en tant que forme de remplissage de bitmap, ou en exécutant une routine de copie de pixels plus rapide. La routine de copie de pixels est nettement plus rapide que la fonctionnalité de rendu vectoriel, mais l’objet Bitmap doit satisfaire à certaines exigences pour y faire appel :

  • L’objet Bitmap ne peut pas subir d’étirement, de rotation ou d’inclinaison.
  • L’objet Bitmap ne peut pas subir de transformation des couleurs.
  • Aucun mode de fondu ne peut être appliqué à l’objet Bitmap.
  • Aucun découpage n’est effectué par le biais de calques de masque ou de méthodes setMask().
  • L’image en tant que telle ne doit pas être un masque.
  • Les coordonnées de destination ne doivent pas correspondre à la limite d’un pixel entier.

Si vous chargez un objet Bitmap provenant d’un autre domaine que celui de l’objet Loader utilisé pour charger l’image et qu’aucun fichier de régulation d’URL n’autorise l’accès au domaine de l’objet Loader, un script de ce domaine ne peut accéder ni à l’objet Bitmap, ni à ses propriétés et méthodes. Pour plus d’informations, voir la rubrique du Pôle de développement Flash Player : Sécurité (disponible en anglais uniquement).

Remarque : la classe Bitmap n’étant pas une sous-classe de la classe InteractiveObject, elle ne peut pas distribuer d’événement de souris. Vous pouvez cependant utiliser la méthode addEventListener() du conteneur d’objet d’affichage qui contient l’objet Bitmap.

Consulter les exemples

Plus d’exemples

Informations complémentaires

Eléments de l’API associés



Propriétés publiques
 PropriétéDéfini par
 InheritedaccessibilityProperties : AccessibilityProperties
Options d’accessibilité actuelles de l’objet d’affichage.
DisplayObject
 Inheritedalpha : Number
Indique la valeur de transparence alpha de l’objet spécifié.
DisplayObject
  bitmapData : BitmapData
Objet BitmapData référencé.
Bitmap
 InheritedblendMode : String
Valeur de la classe BlendMode qui spécifie le mode de fusion à utiliser.
DisplayObject
 InheritedblendShader : Shader
[écriture seule] Définit un shader utilisé pour la fusion de l’arrière-plan et du premier plan.
DisplayObject
 InheritedcacheAsBitmap : Boolean
Si la valeur true est définie, les moteurs d’exécution de Flash placent en mémoire cache une version bitmap interne de l’objet d’affichage.
DisplayObject
 Inherited    cacheAsBitmapMatrix : Matrix
S’il n’est pas nul, cet objet Matrix définit le mode de rendu d’un objet d’affichage lorsque cacheAsBitmap est définie sur true.
DisplayObject
 Inheritedconstructor : Object
Référence à l’objet de classe ou à la fonction constructeur d’une occurrence donnée d’un objet.
Object
 Inheritedfilters : Array
Tableau indexé contenant tous les objets filtre actuellement associés à l’objet d’affichage.
DisplayObject
 Inheritedheight : Number
Indique la hauteur de l’objet d’affichage, en pixels.
DisplayObject
 InheritedloaderInfo : LoaderInfo
[lecture seule] Renvoie un objet LoaderInfo qui contient des informations relatives au chargement du fichier auquel appartient cet objet d’affichage.
DisplayObject
 Inheritedmask : DisplayObject
L’objet d’affichage appelant est masqué par l’objet mask spécifié.
DisplayObject
 InheritedmetaData : Object
Obtient les données d’objet de métadonnées de l’occurrence DisplayObject si les données d’meta a été stockée près de la l’occurrence de cette DisplayObject dans le fichier SWF à l’aide d’une balise de4 PlaceObject.
DisplayObject
 InheritedmouseX : Number
[lecture seule] Indique la coordonnée x de la souris ou ou la position du périphérique de saisie utilisateur, en pixels.
DisplayObject
 InheritedmouseY : Number
[lecture seule] Indique la coordonnée y de la souris ou la position du périphérique de saisie utilisateur, en pixels.
DisplayObject
 Inheritedname : String
Indique le nom d’occurrence de DisplayObject.
DisplayObject
 InheritedopaqueBackground : Object
Indique si l’objet d’affichage est opaque avec une couleur d’arrière-plan spécifique.
DisplayObject
 Inheritedparent : DisplayObjectContainer
[lecture seule] Indique l’objet DisplayObjectContainer qui contient l’objet d’affichage.
DisplayObject
  pixelSnapping : String
Contrôle si l’objet Bitmap est accroché ou non au pixel le plus proche.
Bitmap
 Inheritedroot : DisplayObject
[lecture seule] Pour un objet d’affichage résidant dans un fichier SWF chargé, la propriété root correspond à l’objet d’affichage de premier niveau dans la partie de la structure arborescente de la liste d’affichage représentée par ce fichier.
DisplayObject
 Inheritedrotation : Number
Indique la rotation de l’occurrence de DisplayObject, en degrés, à partir de son orientation d’origine.
DisplayObject
 InheritedrotationX : Number
Indique la rotation de l’axe des x de l’occurrence DisplayObject, en degrés, à partir de son orientation d’origine par rapport au conteneur 3D parent.
DisplayObject
 InheritedrotationY : Number
Indique la rotation de l’axe des y de l’occurrence DisplayObject, en degrés, à partir de son orientation d’origine par rapport au conteneur 3D parent.
DisplayObject
 InheritedrotationZ : Number
Indique la rotation de l’axe des z de l’occurrence DisplayObject, en degrés, à partir de son orientation d’origine par rapport au conteneur 3D parent.
DisplayObject
 Inheritedscale9Grid : Rectangle
Grille de mise à l’échelle en vigueur.
DisplayObject
 InheritedscaleX : Number
Indique l’échelle horizontale (pourcentage) de l’objet telle qu’elle est appliquée à partir du point d’alignement.
DisplayObject
 InheritedscaleY : Number
Indique l’échelle verticale (pourcentage) de l’objet telle qu’elle est appliquée à partir du point d’alignement.
DisplayObject
 InheritedscaleZ : Number
Indique l’échelle de profondeur (pourcentage) de l’objet tel qu’elle est appliquée à partir du point d’alignement.
DisplayObject
 InheritedscrollRect : Rectangle
Cadre de sélection du défilement de l’objet d’affichage.
DisplayObject
  smoothing : Boolean
Contrôle si l’image bitmap est lissée lorsqu’elle est dimensionnée.
Bitmap
 Inheritedstage : Stage
[lecture seule] Scène de l’objet d’affichage.
DisplayObject
 Inheritedtransform : flash.geom:Transform
Objet dont les propriétés se rapportent à la matrice, à la transformation des couleurs et aux limites des pixels d’un objet d’affichage.
DisplayObject
 Inheritedvisible : Boolean
Indique si l’objet d’affichage est visible ou non.
DisplayObject
 Inheritedwidth : Number
Indique la largeur de l’objet d’affichage, en pixels.
DisplayObject
 Inheritedx : Number
Indique la coordonnée x de l’occurrence de DisplayObject par rapport aux coordonnées locales de l’objet DisplayObjectContainer parent.
DisplayObject
 Inheritedy : Number
Indique la coordonnée y de l’occurrence de DisplayObject par rapport aux coordonnées locales de l’objet DisplayObjectContainer parent.
DisplayObject
 Inheritedz : Number
Indique la position de coordonnée z le long de l’axe des z de l’occurrence DisplayObject par rapport au conteneur 3D parent.
DisplayObject
Méthodes publiques
 MéthodeDéfini par
  
Bitmap(bitmapData:BitmapData = null, pixelSnapping:String = "auto", smoothing:Boolean = false)
Initialise un objet Bitmap pour qu’il fasse référence à l’objet BitmapData spécifié.
Bitmap
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Enregistre un objet écouteur d’événement auprès d’un objet EventDispatcher afin que l’écouteur soit averti d’un événement.
EventDispatcher
 Inherited
Distribue un événement dans le flux d’événements.
EventDispatcher
 Inherited
getBounds(targetCoordinateSpace:DisplayObject):Rectangle
Renvoie un rectangle qui définit la zone de l’objet d’affichage relativement au système de coordonnées de l’objet targetCoordinateSpace.
DisplayObject
 Inherited
getRect(targetCoordinateSpace:DisplayObject):Rectangle
Renvoie un rectangle qui définit les limites de l’objet d’affichage, en se basant sur le système de coordonnées défini par le paramètre targetCoordinateSpace, moins tout trait appliqué aux formes.
DisplayObject
 Inherited
Convertit l’objet point des coordonnées de scène (globales) vers les coordonnées de l’objet d’affichage (locales).
DisplayObject
 Inherited
Convertit un point bidimensionnel à partir des coordonnées de scène (globales) vers les coordonnées d’un objet d’affichage tridimensionnel (locales).
DisplayObject
 Inherited
Vérifie si des écouteurs sont enregistrés auprès de l’objet EventDispatcher pour un type spécifique d’événement.
EventDispatcher
 Inherited
Indique si la propriété spécifiée d’un objet est définie.
Object
 Inherited
Evalue le cadre de sélection de l’objet d’affichage pour savoir s’il recouvre ou recoupe le cadre de sélection de l’objet d’affichage obj.
DisplayObject
 Inherited
hitTestPoint(x:Number, y:Number, shapeFlag:Boolean = false):Boolean
Evalue l’objet d’affichage pour savoir s’il recouvre ou recoupe le point spécifié par les paramètres x et y.
DisplayObject
 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
Convertit un point tridimensionnel des coordonnées de l’objet d’affichage tridimensionnel (locales) vers un point bidimensionnel dans les coordonnées de scène (globales).
DisplayObject
 Inherited
Convertit l’objet point des coordonnées de l’objet d’affichage (locales) vers les coordonnées de la scène (globales).
DisplayObject
 Inherited
Indique si la propriété spécifiée existe et est énumérable.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Supprime un écouteur de l’objet EventDispatcher.
EventDispatcher
 Inherited
Définit la disponibilité d’une propriété dynamique pour les opérations en boucle.
Object
 Inherited
Renvoie la représentation de chaîne de cet objet, formatée selon les paramètres régionaux en vigueur.
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
 Inherited
Vérifie si un écouteur d’événement est enregistré auprès de cet objet EventDispatcher ou de ses ancêtres pour le type d’événement spécifié.
EventDispatcher
Evénements
 Evénement Synthèse Défini par
 Inherited[Evénement de diffusion] Distribué lorsque l’application Flash Player obtient le focus du système d’exploitation et devient active.EventDispatcher
 InheritedDistribué lorsqu’un objet d’affichage est ajouté à la liste d’affichage.DisplayObject
 InheritedEnvoyé lorsqu’un objet d’affichage est ajouté dans la liste d’affichage de la scène, directement ou par l’intermédiaire d’une arborescence secondaire qui contient l’objet d’affichage.DisplayObject
 Inherited[Evénement de diffusion] Distribué lorsque l’application Flash Player ou AIR perd le focus du système d’exploitation et devient inactive.EventDispatcher
 Inherited[événement de diffusion] Distribué lorsque la tête de lecture est placée sur une nouvelle image.DisplayObject
 Inherited[événement de diffusion] Distribué lorsque la tête de lecture quitte l’image en cours.DisplayObject
 Inherited[événement de diffusion] Distribué après l’exécution des constructeurs des objets d’affichage d’image, mais avant celle des scripts d’image.DisplayObject
 InheritedDistribué lorsqu’un objet d’affichage est sur le point d’être supprimé de la liste d’affichage.DisplayObject
 InheritedDistribué lorsqu’un objet d’affichage est sur le point d’être supprimé de la liste d’affichage de la scène, directement ou par l’intermédiaire de la suppression d’une arborescence secondaire qui contient l’objet d’affichage.DisplayObject
 Inherited[événement de diffusion] Distribué lorsque la liste d’affichage est sur le point d’être mise à jour et restituée.DisplayObject
Détails de la propriété

bitmapData

propriété
bitmapData:BitmapData

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

Objet BitmapData référencé.



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

pixelSnapping

propriété 
pixelSnapping:String

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

Contrôle si l’objet Bitmap est accroché ou non au pixel le plus proche. La classe PixelSnapping inclut les valeurs possibles :

  • PixelSnapping.NEVER — L’accrochage au pixel est désactivé.
  • PixelSnapping.ALWAYS — L’image est toujours accrochée au pixel le plus proche, quelle que soit la transformation appliquée.
  • PixelSnapping.AUTO — L’image bitmap est accrochée au pixel le plus proche si elle est dessinée sans rotation ni inclinaison et que son facteur de redimensionnement est compris entre 99,9 % et 100,1 %. Si ces conditions sont remplies, l’image bitmap est dessinée à l’échelle 100 % et accrochée au pixel le plus proche. En interne, cette valeur permet de dessiner l’image aussi rapidement que possible à l’aide de la fonctionnalité de rendu vectoriel.



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

smoothing

propriété 
smoothing:Boolean

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

Contrôle si l’image bitmap est lissée lorsqu’elle est dimensionnée. Si le paramètre est défini sur true, l’image bitmap est lissée. S’il est défini sur false, l’image bitmap n’est pas lissée.



Implémentation
    public function get smoothing():Boolean
    public function set smoothing(value:Boolean):void
Détails du constructeur

Bitmap

()Constructeur
public function Bitmap(bitmapData:BitmapData = null, pixelSnapping:String = "auto", smoothing:Boolean = false)

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

Initialise un objet Bitmap pour qu’il fasse référence à l’objet BitmapData spécifié.

Paramètres
bitmapData:BitmapData (default = null) — Objet BitmapData référencé.
 
pixelSnapping:String (default = "auto") — Indique si l’objet Bitmap est accroché ou non au pixel le plus proche.
 
smoothing:Boolean (default = false) — Indique si l’image bitmap est lissée lorsqu’elle est mise à l’échelle. Les exemples ci-dessous illustrent la même image bitmap multipliée par trois, smoothing étant réglé sur false (gauche) et true (droite) :

Une image bitmap sans lissage.Une image bitmap avec lissage.


Exemple  ( Comment utiliser cet exemple )

L’exemple suivant explique comment charger de façon dynamique une image à l’exécution à l’aide de la classe Loader d’ActionScript 3.0, puis comment copier les pixels de l’image dans quatre occurrences distinctes de l’objet Bitmap de la liste d’affichage à l’aide des propriétés content et bitmapData de l’occurrence de Loader. Exemple fourni par ActionScriptExamples.com.
const IMAGE_URL:String = "http://www.helpexamples.com/flash/images/logo.png";
 
var ldr:Loader = new Loader();
ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, ldr_complete);
ldr.load(new URLRequest(IMAGE_URL));
 
var bitmap1:Bitmap;
var bitmap2:Bitmap;
var bitmap3:Bitmap;
var bitmap4:Bitmap;
 
function ldr_complete(evt:Event):void {
    var bmp:Bitmap = ldr.content as Bitmap;
 
    bitmap1 = new Bitmap(bmp.bitmapData);
    bitmap1.x = 100;
    bitmap1.y = 100;
    bitmap1.rotation = 0;
    addChild(bitmap1);
 
    bitmap2 = new Bitmap(bmp.bitmapData);
    bitmap2.x = 200;
    bitmap2.y = 100;
    bitmap2.rotation = 90;
    addChild(bitmap2);
 
    bitmap3 = new Bitmap(bmp.bitmapData);
    bitmap3.x = 300;
    bitmap3.y = 100;
    bitmap3.rotation = 180;
    addChild(bitmap3);
 
    bitmap4 = new Bitmap(bmp.bitmapData);
    bitmap4.x = 400;
    bitmap4.y = 100;
    bitmap4.rotation = 270;
    addChild(bitmap4);
}
BitmapExample.as

L’exemple suivant utilise la classe BitmapDataExample pour charger le fichier « Image.gif » dans DisplayObject à l’emplacement par défaut (x = 0, y = 0). Une copie d’Image.gif est ensuite placée à droite de l’original, qui applique de nouvelles couleurs aux pixels qui répondent aux critères définis par la méthode threshold(). Cette tâche s’accomplit de la façon suivante :
  1. Une propriété url est créée pour désigner l’emplacement et le nom du fichier d’image.
  2. Le constructeur de classe appelle la méthode configureAssets(), qui en retour appelle la méthode completeHandler().
  3. configureAssets() crée un objet Loader, qui crée à son tour un écouteur d’événements, qui est transmis lorsque completeHandler() termine la manipulation de l’image.
  4. Ensuite, la méthode buildChild() crée une occurrence d’objet URLRequest, request, et transmet le paramètre url de façon à identifier le nom de fichier et son emplacement.
  5. L’objet request est ensuite transmis à la méthode loader.load(), qui charge l’image en mémoire à l’aide d’un objet d’affichage.
  6. L’image est ensuite placée dans la liste d’affichage, qui affiche rapidement l’image aux coordonnées x = 0, y = 0.
  7. La méthode completeHandler() effectue ensuite les opérations suivantes :
    1. Crée un deuxième objet Loader, ainsi qu’un objet Bitmap, qui est initialisé avec l’objet Loader.
    2. Crée un deuxième objet Bitmap, duplicate, qui appelle en retour la méthode duplicateImage(), qui crée elle-même un double de l’image d’origine.
    3. Crée un objet BitmapData qui est associé à l’objet BitmapData de l’objet duplicate.
    4. Crée un objet Rectangle qui est initialisé avec les mêmes coordonnées, la même largeur et hauteur, que l’image d’origine.
    5. Crée un objet Point, qui emploie par défaut les coordonnées x = 0, y = 0.
    6. Crée les variables suivantes :
      • operation : applique la nouvelle couleur lorsque la valeur de seuil est >= à l’original.
      • threshold : la valeur de comparaison des pixels est définie sur gris clair, avec un alpha de 0xCC.
      • color : la couleur des pixels qui répondent aux critères imposés, soit jaune uni dans ce cas.
      • mask : le contraire exact de la couleur (bleu transparent).
      • copySource : défini sur false, indique que les valeurs des pixels ne sont pas copiées dans l’événement si la valeur de seuil n’est pas acceptable. Cette valeur n’a aucune signification, car l’image est dupliquée et seuls les pixels qui répondent aux critères de seuil sont modifiés.
    7. Appelle la méthode threshold() à l’aide des variables précédentes. L’équation de seuil qui en résulte figure ci-dessous : if (current pixel Value & 0x000000FF) >= (0xCCCCCCCC & 0x000000FF) then set pixel to 0xFFFFFF00.

Remarques :

  • vous devrez compiler le fichier SWF en réglant « Sécurité de lecture locale » sur « Accès aux fichiers locaux uniquement ».
  • Pour exécuter cet exemple, il est nécessaire de placer un fichier intitulé Image.txt dans le même répertoire que votre fichier SWF.
  • Il est recommandé d’utiliser une image qui ne dépasse pas 80 pixels de largeur.

package {
    import flash.display.Bitmap;
    import flash.display.BitmapData;
    import flash.display.Loader;
    import flash.display.Sprite;
    import flash.events.*;
    import flash.geom.Point;
    import flash.geom.Rectangle;
    import flash.net.URLRequest;

    public class BitmapExample extends Sprite {
        private var url:String = "Image.gif";
        private var size:uint = 80;

        public function BitmapExample() {
            configureAssets();
        }

        private function configureAssets():void {
            var loader:Loader = new Loader();
            loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
            loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);

            var request:URLRequest = new URLRequest(url);
            loader.x = size * numChildren;
            loader.load(request);
            addChild(loader);
        }

        private function duplicateImage(original:Bitmap):Bitmap {
            var image:Bitmap = new Bitmap(original.bitmapData.clone());
            image.x = size * numChildren;
            addChild(image);
            return image;
        }

        private function completeHandler(event:Event):void {
            var loader:Loader = Loader(event.target.loader);
            var image:Bitmap = Bitmap(loader.content);

            var duplicate:Bitmap = duplicateImage(image);
            var bitmapData:BitmapData = duplicate.bitmapData;
            var sourceRect:Rectangle = new Rectangle(0, 0, bitmapData.width, bitmapData.height);
            var destPoint:Point = new Point();
            var operation:String = ">=";
            var threshold:uint = 0xCCCCCCCC;
            var color:uint = 0xFFFFFF00;
            var mask:uint = 0x000000FF;
            var copySource:Boolean = true;

            bitmapData.threshold(bitmapData,
                                 sourceRect,
                                 destPoint,
                                 operation,
                                 threshold,
                                 color,
                                 mask,
                                 copySource);
        }
        
        private function ioErrorHandler(event:IOErrorEvent):void {
            trace("Unable to load image: " + url);
        }
    }
}




[ X ]Pourquoi existe-t-il du contenu en anglais ?
Certaines parties du Guide de référence ActionScript 3.0 sont en anglais

Tout le contenu du Guide de référence ActionScript 3.0 n’a pas été traduit dans toutes les langues. Si un élément de langage n’est pas traduit, il s’affiche en anglais. Par exemple, la classe ga.controls.HelpBox n’est traduite dans aucune langue. Ainsi, dans la version française du guide de référence, la classe ga.controls.HelpBox apparaît en anglais.