Ming függvénykönyvtár Flash mozik előállításához
Ez a kiterjesztés KÍSÉRLETI JELLEGGEL MŰKÖDIK. Ez azt jelenti, hogy minden itt dokumentált működés, beleértve a függvények nevét, működését vagy bármi más, amit a kiterjesztés kapcsán leírtunk megváltozhat egy későbbi PHP kiadásban minden figyelmeztetés nélkül. Ezt a kiterjesztést csak a saját felelősségedre használd!
Bevezetés
Mindenekelőtt: A "Ming" nem mozaikszó. A Ming egy nyílt forráskódú (LGPL) függvénykönyvtár, amely segítségével SWF formátumú (Flash) mozikat tudsz létrehozni. A Ming függvényeivel nagyjából lefedi a Flash 4 összes képeségét, mint: alakzatok, színátmenetek, bitmap képek (png és jpeg formátum), alakváltozások, szövegek, gombok, akciók, moziklipek, mp3 aláfestőzenék (stream típus), és színtranszformációk. Az egyedüli hiányosság, hogy eseményekhez rendelt hangkeltést nem tudunk vele létrehozni.
Érdemes még most, mindenek előtt tisztázni: a különféle hosszokat, távolságokat, méreteket mind "twip" (twenty units per pixel) mértékegységben kell megadni. Ez annyit jelent, hogy egy eredeti méreteiben megjelenített Flash moziban egy képpont húsz twinpek felel meg. Így lehet csak pontos, jól nagyítható mozikat létrehozni.
A már korábban létező PHP/libswf modulhoz képest a Ming több előrelépést is jelent. Egyrészt a Ming nyílt forráskódú, így lehetőség van bárhol, bármilyen rendszeren annak használatára, ahol a forrásból fordítást végre tudod hajtani. A libswf ezzel szemben nem publikus forrással rendelkezik, és csak a jelentősebb platformokra fordítottak belőle bináris függvénykönyvtárt. Ezen platformok közt a Windows nincs jelen. A Ming ráadásul jóval emberközelibb módon kínálja fel a Flash generáláshoz szükséges eljárásokat, ezeket különféle objektumokon keresztül tudjuk hívni. A Ming jelenleg is fejlesztés és karbantartás alatt áll. Ha van olyan, amit a Ming nem tud, de szükségesnek érzed, nosza tudasd velünk ezt a következő címen: » ming@opaque.net.
A Ming modul a 4.0.5-ös php verziótól szerepel a hivatalos kiadásban.
Követelmények
A Ming használatbavételéhez először is le kell fordítanod, és telepítened azt. Letölthető forráskódot, és telepítési útmutatót találsz a Ming saját honlapján: » https://ming.sourceforge.net/. Ugyanitt találhasz példákat, egy kissebb gyorstalpalót, és a legfrissebb Ming-kapcsolatos híreket.
Töltsd le a Ming forráskódjának tömörített állományát, csomagold ki. Lépj bele a Ming könyvtárba, majd a következp parancsokat add ki: make, majd ha ez végzett: make isntall.
Ezen műveletek során létrejön a libming.so bináris állomány és a megfelelő helyre is telepedik: /usr/lib/. Emellett egy ming.h állomány is helyet kap az /usr/include/ könyvtárban. Ha máshová szeretnéd telepíteni, akkor fordítás előtt módosítsd a Makefile állomány PREFIX= bejegyzését, hogy a telepítés helyét megjelöld magad.
Telepítés
Example#1 built into PHP (Unix)
mkdir <phpdir>/ext/ming cp php_ext/* <phpdir>/ext/ming cd <phpdir> ./buildconf ./configure --with-ming <other config options>
Now either just add extension=php_ming.so to your php.ini file, or put dl('php_ming.so'); at the head of all of your Ming scripts.
Futásidejű beállítások
Ez a kiterjesztés semmilyen konfigurációs beállításokat nem definiál a php.ini állományban.
Erőforrás típusok
Előre definiált állandók
Az itt listázott állandókat ez a kiterjesztés definiálja, és csak akkor elérhetőek, ha az adott kiterjesztés be van fordítva a PHP-be, vagy dinamikusan betöltött.
- SWFBUTTON_HIT (integer)
- SWFBUTTON_DOWN (integer)
- SWFBUTTON_OVER (integer)
- SWFBUTTON_UP (integer)
- SWFBUTTON_MOUSEUPOUTSIDE (integer)
- SWFBUTTON_DRAGOVER (integer)
- SWFBUTTON_DRAGOUT (integer)
- SWFBUTTON_MOUSEUP (integer)
- SWFBUTTON_MOUSEDOWN (integer)
- SWFBUTTON_MOUSEOUT (integer)
- SWFBUTTON_MOUSEOVER (integer)
- SWFFILL_RADIAL_GRADIENT (integer)
- SWFFILL_LINEAR_GRADIENT (integer)
- SWFFILL_TILED_BITMAP (integer)
- SWFFILL_CLIPPED_BITMAP (integer)
- SWFTEXTFIELD_HASLENGTH (integer)
- SWFTEXTFIELD_NOEDIT (integer)
- SWFTEXTFIELD_PASSWORD (integer)
- SWFTEXTFIELD_MULTILINE (integer)
- SWFTEXTFIELD_WORDWRAP (integer)
- SWFTEXTFIELD_DRAWBOX (integer)
- SWFTEXTFIELD_NOSELECT (integer)
- SWFTEXTFIELD_HTML (integer)
- SWFTEXTFIELD_ALIGN_LEFT (integer)
- SWFTEXTFIELD_ALIGN_RIGHT (integer)
- SWFTEXTFIELD_ALIGN_CENTER (integer)
- SWFTEXTFIELD_ALIGN_JUSTIFY (integer)
- SWFACTION_ONLOAD (integer)
- SWFACTION_ENTERFRAME (integer)
- SWFACTION_UNLOAD (integer)
- SWFACTION_MOUSEMOVE (integer)
- SWFACTION_MOUSEDOWN (integer)
- SWFACTION_MOUSEUP (integer)
- SWFACTION_KEYDOWN (integer)
- SWFACTION_KEYUP (integer)
- SWFACTION_DATA (integer)
Előre definiált osztályok
A következő osztályokat ez a kiterjesztés definiálja azaz csak akkor érhetőek el, ha ez a kiterjesztés a PHP-be fordítva vagy betöltve rendelkezésre áll.
A Ming 13 új osztályt hoz be a PHP rendszerbe, ezek mind saját tulajdonságokkal és eljárásokkal rendelkeznek. A használatba vételükhöz érdemes tehát ismerni, hogy kezeli a PHP az objektum alapú programozást.
- swfshape
- swffill
- swfgradient
- swfbitmap
- swftext
- swftextfield
- swffont
- swfdisplayitem
- swfmovie
- swfbutton
- swfaction
- swfmorph
- swfsprite
Table of Contents
- ming_keypress — Returns the action flag for keyPress(char)
- ming_setcubicthreshold — Set cubic threshold (?)
- ming_setscale — Set scale (?)
- ming_setswfcompression — Sets the SWF output compression
- ming_useconstants — Use constant pool
- ming_useswfversion — Use SWF version (?)