LXXXIX. Ming pour Flash

AVERTISSEMENT

Ce module est EXPERIMENTAL . Cela signifie que le comportement de ces fonctions, leurs noms et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez ce module à vos risques et périls.

Introduction

Avant tout, sachez que Ming n'est pas un acronyme. Ming est une bibliothèque open-source (LGPL) qui vous permet de créer des animations au format Flash. Ming supporte toutes les fonctionnalités de Flash 4 : les formes (shapes), les gradients, les images bitmaps (JPEG et PNG), les morphing (transformations d'une forme en une autre), les textes, actions, sprites (mini animations), le streaming MP3 et les transformations de couleurs. Le seul ajout futur est celui des événements sons.

Notez que toutes les distances spécifiées (longueurs, distances, tailles...) sont en "twips", c'est-à-dire 20 unités par pixels. C'est plus ou moins arbitraire, car le lecteur Flash fait une mise à l'échelle avec les valeurs qui lui sont fournies dans la balise embed, ou la frame courante si la balise embed n'est pas utilisée.

Ming propose de nombreux avantages par rapport à l'extension swf. Vous pouvez utiliser Ming sur tous les OS où vous pouvez compiler le code, tandis que swf est limité à Windows. Ming vous évite la déconcertante complexité du format SWF, en transformant les éléments des animations en objets PHP. Enfin, Ming est toujours en cours de développement et surveillé par son auteur : si vous souhaitez une nouvelle fonctionnalité, dites-le nous : » http://ming.sourceforge.net/

Ming et tous les objets cités ont été ajoutés en PHP 4.0.5.

Pré-requis

Pour utiliser Ming avec PHP, vous devez d'abord installer la librairy Ming. Le code source et les instructions d'installation sont disponibles sur la page d'accueil de Ming : » http://ming.sourceforge.net/ , avec des exemples un tutorial et l'actualité Ming.

Téléchargez l'archive Ming. Décompressez-la et allez dans le dossier Ming. Faites "make", puis "make install".

Cela va compiler le fichier libming.so et l'installer dans /usr/lib/ , et copier ming.h into /usr/include/ . Éditez la ligne PREFIX= dans le fichier Makefile pour indiquer votre dossier d'installation.

Installation

Exemple 1480. Compilation CGI avec PHP (Unix)



mkdir <phpdir>/ext/ming
cp php_ext/* <phpdir>/ext/ming
cd <phpdir>
./buildconf 
./configure --with-ming <other config options>

       


Compilez et installez PHP comme d'habitude. Redémarrez votre serveur web si nécessaire.

Maintenant, soit vous ajoutez simplement extension=php_ming.so dans votre fichier php.ini , soit vous ajoutez la ligne dl('php_ming.so'); au début de tous vos scripts qui utilisent Ming.

Configuration à l'exécution

Cette extension ne définit aucune directive de configuration.

Types de ressources

Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

MING_NEW (entier )
MING_ZLIB (entier )
SWFBUTTON_HIT (entier )
SWFBUTTON_DOWN (entier )
SWFBUTTON_OVER (entier )
SWFBUTTON_UP (entier )
SWFBUTTON_MOUSEUPOUTSIDE (entier )
SWFBUTTON_DRAGOVER (entier )
SWFBUTTON_DRAGOUT (entier )
SWFBUTTON_MOUSEUP (entier )
SWFBUTTON_MOUSEDOWN (entier )
SWFBUTTON_MOUSEOUT (entier )
SWFBUTTON_MOUSEOVER (entier )
SWFFILL_RADIAL_GRADIENT (entier )
SWFFILL_LINEAR_GRADIENT (entier )
SWFFILL_TILED_BITMAP (entier )
SWFFILL_CLIPPED_BITMAP (entier )
SWFTEXTFIELD_HASLENGTH (entier )
SWFTEXTFIELD_NOEDIT (entier )
SWFTEXTFIELD_PASSWORD (entier )
SWFTEXTFIELD_MULTILINE (entier )
SWFTEXTFIELD_WORDWRAP (entier )
SWFTEXTFIELD_DRAWBOX (entier )
SWFTEXTFIELD_NOSELECT (entier )
SWFTEXTFIELD_HTML (entier )
SWFTEXTFIELD_ALIGN_LEFT (entier )
SWFTEXTFIELD_ALIGN_RIGHT (entier )
SWFTEXTFIELD_ALIGN_CENTER (entier )
SWFTEXTFIELD_ALIGN_JUSTIFY (entier )
SWFACTION_ONLOAD (entier )
SWFACTION_ENTERFRAME (entier )
SWFACTION_UNLOAD (entier )
SWFACTION_MOUSEMOVE (entier )
SWFACTION_MOUSEDOWN (entier )
SWFACTION_MOUSEUP (entier )
SWFACTION_KEYDOWN (entier )
SWFACTION_KEYUP (entier )
SWFACTION_DATA (entier )

Classes pré-définies

Ces classes sont définies par cette extension, et elles ne seront disponibles que si cette extension a été compilée avec PHP, ou bien chargée dynamiquement.

Table des matières

SWFAction — Classe SWFAction
SWFAction->__construct() — Crée un nouvel objet SWFAction
SWFBitmap — Classe SWFBitmap
SWFBitmap->__construct() — Charge un objet Bitmap
SWFBitmap->getHeight() — Retourne la hauteur d'un bitmap
SWFBitmap->getWidth() — Retourne la largeur d'un bitmap
SWFButton — Classe SWFButton
SWFButton->__construct() — Crée un nouveau bouton
SWFButton->addAction() — Ajoute une action
SWFButton->addASound() — Associe un son à un bouton
SWFButton->addShape() — Ajoute une forme à un bouton
SWFButton->setAction() — Définit l'action
SWFButton->setDown() — Alias pour addShape(shape, SWFBUTTON_DOWN)
SWFButton->setHit() — Alias pour addShape(shape, SWFBUTTON_HIT)
SWFButton->setMenu() — Active un menu sur un bouton
SWFButton->setOver() — Alias pour addShape(shape, SWFBUTTON_OVER)
SWFButton->setUp() — Alias pour addShape(shape, SWFBUTTON_UP)
SWFDisplayItem — Classe SWFDisplayItem
SWFDisplayItem->addAction() — Ajoute ce SWFAction à l'instance SWFSprite fournie
SWFDisplayItem->addColor() — Ajoute une couleur à la transformation de couleur de l'élément
SWFDisplayItem->endMask() — Une autre façon de définir une interface MASK
SWFDisplayItem->getRot()
SWFDisplayItem->getX()
SWFDisplayItem->getXScale()
SWFDisplayItem->getXSkew()
SWFDisplayItem->getY()
SWFDisplayItem->getYScale()
SWFDisplayItem->getYSkew()
SWFDisplayItem->move() — Déplace un objet dans les coordonnées relatives
SWFDisplayItem->moveTo() — Déplace un objet dans les coordonnées globales
SWFDisplayItem->multColor() — Multiplie la transformation de couleur d'un élément
SWFDisplayItem->remove() — Efface l'objet du film
SWFDisplayItem->rotate() — Rotation, en coordonnées relatives
SWFDisplayItem->rotateTo() — Tourne l'objet dans les coordonnées globales
SWFDisplayItem->scale() — Met à l'échelle l'objet dans des coordonnées relatives
SWFDisplayItem->scaleTo() — Met à l'échelle l'objet dans les coordonnées globales
SWFDisplayItem->setDepth() — Définit le z-order
SWFDisplayItem->setMaskLevel() — Définit le niveau de l'interface MASK
SWFDisplayItem->setMatrix() — Définit la matrice de transformation de l'élément
SWFDisplayItem->setName() — Définit le nom de l'objet
SWFDisplayItem->setRatio() — Définit le ratio de l'objet
SWFDisplayItem->skewX() — Définit le X-skew
SWFDisplayItem->skewXTo() — Définit le X-skew
SWFDisplayItem->skewY() — Définit le Y-skew
SWFDisplayItem->skewYTo() — Définit le Y-skew
SWFFill — Classe SWFFill
SWFFill->moveTo() — Déplace le motif original
SWFFill->rotateTo() — Définit la rotation du motif
SWFFill->scaleTo() — Définit l'échelle du motif
SWFFill->skewXTo() — Définit le motif x-skew
SWFFill->skewYTo() — Définit le motif y-skew
SWFFont — Classe SWFFont
SWFFont->__construct() — Charge la définition d'une police
SWFFont->getAscent() — Retourne la montée de la police, ou 0 si non disponible
SWFFont->getDescent() — Retourne la descente de la police, ou 0 si non disponible
SWFFont->getLeading() — Retourne l'interlignage de la police, ou 0 si non disponible
SWFFont->getShape() — Retourne la forme du glyphe d'un caractère, sous la forme d'une chaîne de caractères
SWFFont->getUTF8Width() — Calcule la largeur d'une chaîne donnée dans une police
SWFFont->getWidth() — Retourne la largeur de la chaîne
SWFFontChar — Classe SWFFontChar
SWFFontChar->addChars() — Ajoute des caractères à une police pour l'exportation de la police
SWFFontChar->addUTF8Chars() — Ajoute des caractères à une police pour l'exportation de la police
SWFGradient — Classe SWFGradient
SWFGradient->__construct() — Crée un objet gradient
SWFGradient->addEntry() — Ajoute une entrée dans la liste de gradient
SWFMorph — Classe SWFMorph
SWFMorph->__construct() — Crée un nouvel objet SWFMorph
SWFMorph->getShape1() — Récupère un gestionnaire pour une forme
SWFMorph->getShape2() — Récupère un gestionnaire de forme de fin
SWFMovie — Classe SWFMovie
SWFMovie->__construct() — Crée un nouvel objet vidéo, représentant une vidéo SWF version 4
SWFMovie->add() — Ajoute n'importe quelle donnée à une vidéo
SWFMovie->addExport()
SWFMovie->addFont()
SWFMovie->importChar()
SWFMovie->importFont()
SWFMovie->labelFrame() — Nomme une frame
SWFMovie->nextFrame() — Se déplace sur la prochaine frame d'une animation
SWFMovie->output() — Affiche la vidéo
SWFMovie->remove() — Efface une instance d'un objet depuis la liste d'affichage
SWFMovie->save() — Sauvegarde la vidéo SWF dans un fichier
SWFMovie->saveToFile()
SWFMovie->setbackground() — Définit la couleur d'arrière plan
SWFMovie->setDimension() — Définit les dimensions de la vidéo
SWFMovie->setFrames() — Définit le nombre de frames dans l'animation
SWFMovie->setRate() — Définit le débit des frames de l'animation
SWFMovie->startSound()
SWFMovie->stopSound()
SWFMovie->streamMP3() — Diffuse un fichier MP3
SWFMovie->writeExports()
SWFPrebuiltClip — Classe SWFPrebuiltClip
SWFPrebuiltClip->__construct() — Retourne un objet SWFPrebuiltClip
SWFShape — Classe SWFShape
SWFShape->__construct() — Crée un nouvel objet SWFShape
SWFShape->addFill() — Ajoute un motif solide à la forme
SWFShape->drawArc() — Trace un arc de cercle, centré sur la position courante, depuis l'angle startAngle vers l'angle endAngle, dans le sens des aiguilles d'une montre
SWFShape->drawCircle() — Trace un cercle, centré sur la position courante
SWFShape->drawCubic() — Trace une courbe de Bézier en utilisant la position courante et les trois points de contrôle
SWFShape->drawCubicTo() — Trace une courbe de Bézier en utilisant la position courante et les trois points de contrôle
SWFShape->drawCurve() — Trace une courbe (relative)
SWFShape->drawCurveTo() — Trace une courbe
SWFShape->drawGlyph() — Dessine le premier caractère d'une chaîne donnée dans la forme en utlisant la définition du glyphe pour la police donnée
SWFShape->drawLine() — Trace une ligne (relative)
SWFShape->drawLineTo() — Trace une ligne
SWFShape->movePen() — Déplace le stylo
SWFShape->movePenTo() — Déplace le stylo dans la forme
SWFShape->setLeftFill() — Définit la couleur de la trame de gauche
SWFShape->setLine() — Définit le style de la forme d'une ligne
SWFShape->setRightFill() — Définit la couleur de la trame de droite
SWFSound — Classe SWFSound
SWFSound — Retourne un nouvel objet SWFSound depuis un fichier donné
SWFSoundInstance — Classe SWFSoundInstance
SWFSoundInstance->loopCount()
SWFSoundInstance->loopInPoint()
SWFSoundInstance->loopOutPoint()
SWFSoundInstance->noMultiple()
SWFSprite — Classe SWFSprite
SWFSprite->__construct() — Crée un clip vidéo (un sprite)
SWFSprite->add() — Ajoute un objet à un sprite
SWFSprite->labelFrame() — Libellé d'une image
SWFSprite->nextFrame() — Déplace la prochaine image de l'animation
SWFSprite->remove() — Efface l'objet d'un sprite
SWFSprite->setFrames() — Définit le nombre total d'images dans l'animation
SWFSprite->startSound()
SWFSprite->stopSound()
SWFText — Classe SWFText
SWFText->__construct() — Crée un nouvel objet SWFText
SWFText->addString() — Dessine une chaîne de caractères
SWFText->addUTF8String() — Écrit le texte donné dans l'objet SWFText à la position courante, en utilisant la police, la haute, l'espacement et la couleur courants
SWFText->getAscent() — Retourne la montée de la police courante à sa taille courante, ou 0 si elle n'est pas disponible
SWFText->getDescent() — Retourne la descente de la police courante à sa taille courante, ou 0 si elle n'est pas disponible
SWFText->getLeading() — Retourne l'interlignage de la police courante à sa taille courante, ou 0 s'il n'est pas disponible
SWFText->getUTF8Width() — Calcule la largeur de la chaîne donnée dans la police et la taille courante du texte
SWFText->getWidth() — Calcule la largeur d'une chaîne
SWFText->moveTo() — Déplace le stylo
SWFText->setColor() — Définit la couleur courante du texte
SWFText->setFont() — Définit la police courante
SWFText->setHeight() — Définit la hauteur de la police courante
SWFText->setSpacing() — Définit l'espacement de la police courante
SWFTextField — Classe SWFTextField
SWFTextField->__construct() — Crée un objet champ de texte
SWFTextField->addChars() — Ajoute les caractères à la police qui sera disponible dans le champ texte
SWFTextField->addString() — Concatène la chaîne de caractères donnée avec le champ texte
SWFTextField->align() — Définit l'alignement du champ texte
SWFTextField->setBounds() — Définit la hauteur et la largeur d'un champ texte
SWFTextField->setColor() — Définit la couleur d'un champ texte
SWFTextField->setFont() — Définit la police d'un champ texte
SWFTextField->setHeight() — Définit la hauteur de la police d'un champ de texte
SWFTextField->setIndentation() — Définit l'indentation de la première ligne
SWFTextField->setLeftMargin() — Définit la largeur de la marge gauche d'un champ texte
SWFTextField->setLineSpacing() — Définit l'espacement de ligne d'un champ texte
SWFTextField->setMargins() — Définit la largeur des marges d'un champ texte
SWFTextField->setName() — Définit le nom de la variable
SWFTextField->setPadding() — Définit l'espacement interne d'un champ texte
SWFTextField->setRightMargin() — Définit la largeur de la marge droite d'un champ texte
SWFVideoStream — Classe SWFVideoStream
SWFVideoStream->__construct() — Retourne un objet SWFVideoStream
SWFVideoStream->getNumFrames()
SWFVideoStream->setDimension()
ming_keypress — Retourne le drapeau d'action pour keyPress(char)
ming_setcubicthreshold — Fixe le niveau de seuil cubique
ming_setscale — Définit l'échelle
ming_setswfcompression — Définit la compression de sortie SWF
ming_useconstants — Utilise un jeu de constantes
ming_useswfversion — Définit la version SWF