Forum und email

Ming pour Flash

Warning

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

Example#1 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 of Contents