Faire une capture de la scène de Director

By 28 janvier 2008Adobe Director, Tutoriels

Voici une fonction qui permet de capturer la scène (stage) de Director avec tout ce qui s’y trouve.
Un acteur est créé à la volée et une boîte de dialogue apparaît pour nous permettre de sauvegarder l’image au format JPEG.

Attention : ce script nécessite 2 XTras pour bien fonctionner :

  1. FIleIO XTra (fourni avec Director)
  2. SharpExport XTra

Le script

Voici la fonction avec mes commentaires.

on capture
imageScene = (the stage).image
nouveauBitmap = new(#bitmap) -- on crée un bitmap vide
nouveauBitmap.name = "capture" -- on lui donne un nom
member("capture").image = imageScene -- on lui affecte l'image de la scène

fichier = new (xtra "fileIO") -- on crée un objet fileIO
cheminExport = displaySave( fichier, "Enregistrer sous...", ".jpg")
-- l'utilisateur choisit le chemin et un nom de fichier

if cheminExport = "" then -- l'utilisateur a annulé
exit
fichier = 0 -- on libère la mémoire
end if

objetSharpExport = new (xtra "SharpExport") -- un objet SharpExport
compression = 100 -- qualité max pour les JPEG
erreur = objetSharpExport.exportJPG(member "capture", cheminExport, compression)

-- "des erreurs ?"
if erreur <> 0 then -- une erreur : on affiche une alerte
alert("une erreur est survenue inopinément...")
else -- tout s'est bien passé, on efface l'acteur de la distribution
erase member("capture")
end if

objetSharpExport = VOID -- on libère la mémoire
end

 

Voilà, j’espère que les commentaires suffiront.

Pour faire fonctionner ce script, il faut invoquer la fonction capture sur un évènement, par exemple sur un bouton :

on mouseUp me
capture
end

Laisser un commentaire