ActionScript 3.0, l'essentiel sous la main Adobe Flash Accueil
Fiches
Boutique
Contact
Importer une image externe
Nous allons voir ici comment importer une image bitmap dans notre scène, via une fenêtre d'exploration système.

Sur ma scène, j'ai ma zone d'affichage zoneLoad, et un bouton btn_parcourir.

//Imports Flash
import flash.net.FileReference;
import flash.net.FileFilter;
import flash.events.MouseEvent;
import flash.events.Event;
import flash.display.Loader;
import flash.utils.ByteArray;

//Création des variables requises
var fichier:FileReference; //Chargement d'un fichier externe
var donneeImage:Loader; //Stockage des données bitmap à afficher

//Définition des types de fichier autorisés
var imgType:FileFilter = new FileFilter("Images (*.jpg, *.jpeg, *.gif, *.png)", "*.jpg; *.jpeg; *.gif; *.png");

//Recherche du fichier
function parcourir(e:MouseEvent):void
{
fichier = new FileReference(); //Création d'un session de chargement de fichier externe
fichier.addEventListener(Event.SELECT, fichierSelect);
fichier.browse([imgType]); //Ouverture d'une fenêtre d'exploration système
}
btn_parcourir.addEventListener(MouseEvent.CLICK, parcourir);

//Téléchargement du fichier sélectionné
function fichierSelect(e:Event):void
{
fichier.addEventListener(Event.COMPLETE, chargementOK);
fichier.load(); //Lancement du téléchargement
}

//Récupération des données bitmap après téléchargement du fichier
function chargementOK(e:Event):void
{
//Suppression des évènements à présent inutiles
fichier.removeEventListener(Event.SELECT, fichierSelect);
fichier.removeEventListener(Event.COMPLETE, chargementOK);

//Stockage des données reçu dans un tableau de données
var stockageDonnee:ByteArray = fichier.data;

//Chargement des données bitmap dans un loader pour affichage
donneeImage = new Loader();
donneeImage.contentLoaderInfo.addEventListener(Event.COMPLETE, donneeImageOK);
donneeImage.loadBytes(stockageDonnee);
}

//Affiche des données bitmap chargées
function donneeImageOK(e:Event):void
{
//Affiche des données bitmap chargées
zoneLoad.addChild(donneeImage);

//Suppression des évènements à présent inutiles
donneeImage.contentLoaderInfo.removeEventListener(Event.COMPLETE, donneeImageOK);
}

Aperçus & Sources : (Flash CS4)
Commentaire(s)
Aucun.