Package | flash.display |
Classe | public class Bitmap |
Héritage | Bitmap DisplayObject EventDispatcher 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 |
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.
Plus d’exemples
Copie de données bitmap
Création de textures avec les fonctions de bruit aléatoire
Défilement du contenu d’images bitmap
Exemple d’objet Bitmap : lune en rotation animée
Informations complémentaires
Concepts fondamentaux de la programmation de l’affichage
Classes d’affichage de base
Sélection d’une sous-classe de DisplayObject
Utilisation des images bitmap
Principes de base de l’utilisation des images bitmap
Classes Bitmap et BitmapData
Décodage asynchrone des images bitmap
Eléments de l’API associés
Propriété | Défini par | ||
---|---|---|---|
accessibilityProperties : AccessibilityProperties
Options d’accessibilité actuelles de l’objet d’affichage. | DisplayObject | ||
alpha : Number
Indique la valeur de transparence alpha de l’objet spécifié. | DisplayObject | ||
bitmapData : BitmapData
Objet BitmapData référencé. | Bitmap | ||
blendMode : String
Valeur de la classe BlendMode qui spécifie le mode de fusion à utiliser. | DisplayObject | ||
blendShader : Shader [écriture seule]
Définit un shader utilisé pour la fusion de l’arrière-plan et du premier plan. | DisplayObject | ||
cacheAsBitmap : 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 | ||
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 | ||
constructor : Object
Référence à l’objet de classe ou à la fonction constructeur d’une occurrence donnée d’un objet. | Object | ||
filters : Array
Tableau indexé contenant tous les objets filtre actuellement associés à l’objet d’affichage. | DisplayObject | ||
height : Number
Indique la hauteur de l’objet d’affichage, en pixels. | DisplayObject | ||
loaderInfo : LoaderInfo [lecture seule]
Renvoie un objet LoaderInfo qui contient des informations relatives au chargement du fichier auquel appartient cet objet d’affichage. | DisplayObject | ||
mask : DisplayObject
L’objet d’affichage appelant est masqué par l’objet mask spécifié. | DisplayObject | ||
metaData : 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 | ||
mouseX : 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 | ||
mouseY : Number [lecture seule]
Indique la coordonnée y de la souris ou la position du périphérique de saisie utilisateur, en pixels. | DisplayObject | ||
name : String
Indique le nom d’occurrence de DisplayObject. | DisplayObject | ||
opaqueBackground : Object
Indique si l’objet d’affichage est opaque avec une couleur d’arrière-plan spécifique. | DisplayObject | ||
parent : 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 | ||
root : 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 | ||
rotation : Number
Indique la rotation de l’occurrence de DisplayObject, en degrés, à partir de son orientation d’origine. | DisplayObject | ||
rotationX : 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 | ||
rotationY : 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 | ||
rotationZ : 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 | ||
scale9Grid : Rectangle
Grille de mise à l’échelle en vigueur. | DisplayObject | ||
scaleX : Number
Indique l’échelle horizontale (pourcentage) de l’objet telle qu’elle est appliquée à partir du point d’alignement. | DisplayObject | ||
scaleY : Number
Indique l’échelle verticale (pourcentage) de l’objet telle qu’elle est appliquée à partir du point d’alignement. | DisplayObject | ||
scaleZ : Number
Indique l’échelle de profondeur (pourcentage) de l’objet tel qu’elle est appliquée à partir du point d’alignement. | DisplayObject | ||
scrollRect : 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 | ||
stage : Stage [lecture seule]
Scène de l’objet d’affichage. | DisplayObject | ||
transform : 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 | ||
visible : Boolean
Indique si l’objet d’affichage est visible ou non. | DisplayObject | ||
width : Number
Indique la largeur de l’objet d’affichage, en pixels. | DisplayObject | ||
x : Number
Indique la coordonnée x de l’occurrence de DisplayObject par rapport aux coordonnées locales de l’objet DisplayObjectContainer parent. | DisplayObject | ||
y : Number
Indique la coordonnée y de l’occurrence de DisplayObject par rapport aux coordonnées locales de l’objet DisplayObjectContainer parent. | DisplayObject | ||
z : 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éthode | Défini par | ||
---|---|---|---|
Initialise un objet Bitmap pour qu’il fasse référence à l’objet BitmapData spécifié. | Bitmap | ||
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 | ||
Distribue un événement dans le flux d’événements. | EventDispatcher | ||
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 | ||
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 | ||
Convertit l’objet point des coordonnées de scène (globales) vers les coordonnées de l’objet d’affichage (locales). | DisplayObject | ||
Convertit un point bidimensionnel à partir des coordonnées de scène (globales) vers les coordonnées d’un objet d’affichage tridimensionnel (locales). | DisplayObject | ||
Vérifie si des écouteurs sont enregistrés auprès de l’objet EventDispatcher pour un type spécifique d’événement. | EventDispatcher | ||
Indique si la propriété spécifiée d’un objet est définie. | Object | ||
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 | ||
Evalue l’objet d’affichage pour savoir s’il recouvre ou recoupe le point spécifié par les paramètres x et y. | DisplayObject | ||
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 | ||
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 | ||
Convertit l’objet point des coordonnées de l’objet d’affichage (locales) vers les coordonnées de la scène (globales). | DisplayObject | ||
Indique si la propriété spécifiée existe et est énumérable. | Object | ||
Supprime un écouteur de l’objet EventDispatcher. | EventDispatcher | ||
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 | ||
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 |
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
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ètresbitmapData: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) :
|
Exemple ( Comment utiliser cet exemple )
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); }
threshold()
. Cette tâche s’accomplit de la façon suivante :
- Une propriété
url
est créée pour désigner l’emplacement et le nom du fichier d’image. - Le constructeur de classe appelle la méthode
configureAssets()
, qui en retour appelle la méthodecompleteHandler()
. configureAssets()
crée un objet Loader, qui crée à son tour un écouteur d’événements, qui est transmis lorsquecompleteHandler()
termine la manipulation de l’image.- Ensuite, la méthode
buildChild()
crée une occurrence d’objet URLRequest,request
, et transmet le paramètreurl
de façon à identifier le nom de fichier et son emplacement. - L’objet
request
est ensuite transmis à la méthodeloader.load()
, qui charge l’image en mémoire à l’aide d’un objet d’affichage. - L’image est ensuite placée dans la liste d’affichage, qui affiche rapidement l’image aux coordonnées x = 0, y = 0.
- La méthode
completeHandler()
effectue ensuite les opérations suivantes :- Crée un deuxième objet Loader, ainsi qu’un objet Bitmap, qui est initialisé avec l’objet Loader.
- Crée un deuxième objet Bitmap,
duplicate
, qui appelle en retour la méthodeduplicateImage()
, qui crée elle-même un double de l’image d’origine. - Crée un objet BitmapData qui est associé à l’objet BitmapData de l’objet
duplicate
. - 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.
- Crée un objet Point, qui emploie par défaut les coordonnées x = 0, y = 0.
- 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.
- 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); } } }
Tue Jun 12 2018, 09:30 AM Z