Crearea graficii cu bliț

Fiecare dintre tehnologiile de creare a graficii vectoriale discutate până în prezent în acest capitol are un domeniu de aplicare limitat: eticheta Disponibil numai în browserele Safari 1.3, Firefox 1.5 și Opera 9; Tehnologia VML poate (și va fi întotdeauna) utilizată numai în IE și numai browserul Firefox 1.5 are suport integrat pentru SVG. Desigur, există module de suport SVG pentru alte browsere, dar aceste module nu sunt încă utilizate pe scară largă.

Exemplul 22.12. Canvas.as

// Compilatorul freelat distribuit mtasc se va insera automat

// apelați metoda principal () în fișierul SWF compilat. Dacă creați

1 Codul din Exemplul 22.13, care creează o diagrama plăcintă, folosește această interfață de desen aplicație, dar nu o voi descrie aici. Toate documentele necesare pot fi găsite pe site-ul Adobe.

22,6. Crearea graficii cu Flash

// metoda Canvas.main () din primul cadru al filmului.

// Acest constructor conține codul de inițiere pentru funcția noastră Canvas Flash_class Canvas ()

// Definiți comportamentul panzei atunci când modificați dimensiunea Stage.scaleMode = "noScale";

// import funcții de desen Flash API ExternalInterface.addCallback ( "beginFill", _root, _root.beginFill); ExternalInterface.addCallback ("beginGradientFill", _root,

_root.beginGradientFill); ExternalInterface.addCallback ("clar", _root, _root.clear); ExternalInterface.addCallback ("curveTo", _root, _root.curveTo); ExternalInterface.addCallback ("endFill", _root, _root.endFill); ExternalInterface.addCallback ("lineTo", _root, _root.lineTo); ExternalInterface.addCallback ("lineStyle", _root, _root.lineStyle); ExternalInterface.addCallback ("moveTo", _root, _root.moveTo);

// Și, de asemenea export addText funcția () prezentată mai jos ExternalInterface.addCallback ( "addText", null, addText);

funcția statică addText (text, x, y, w, h, adâncime, font, mărime)

// Creați un obiect TextField pentru a reda textul

// în coordonatele date

var tf = _root.createTextField ("tf", adâncime, x, y, w, h);

// Trimiteți textul de ieșire tf.text = text;

// Setați opțiunile pentru fonturi text var format = new TextFormat (); format.font = font;

format.size = dimensiune; tf.setTextFormat (format);

Codul programului pentru fișierul Canvas.as. reprezentat în Exemplul 22.12, trebuie compilat în fișierul Canvas.swf. Înainte de a putea fi utilizat în playerul Flash. O descriere detaliată a modului în care se face acest lucru este dincolo de tema ram_ ki acestei cărți, dar puteți utiliza versiunea comercială a Adobe Flash IDE sau compilator freeware Acti_ onScript. 1

Din păcate, Flash oferă doar o interfață de aplicație la nivel scăzut. În particular, curveTo () este singura funcție care trage curbe (mai precis, curbele Bézier din ordinea a doua). Toate cercurile, elipsele și curbele Be_

578 Capitolul 22. Lucrul cu grafica pe partea clientului

Exemplul 22.13 începe cu o funcție auxiliară care implementează fișierul Canvas.swf într-un document HTML_document. În diferite browsere, această operație este efectuată diferit, iar funcția insertCanvas () ascunde aceste diferențe. Este urmată de funcția wedge (), care utilizează interfața aplicației Flash pentru a desena un sector de diagrame. Apoi, funcția pieChart () numește funcția wedge () pentru a desena un sector separat. Exemplul se termină cu definiția procesatorului de evenimente onload, care introduce panza Flash_ în document și creează un desen pe acesta.

// încorporați Flash_Field de dimensiunea specificată ca un singur

// descendentul elementului de container specificat. Pentru portabilitate, funcția

// utilizează eticheta în browserele și etichetele compatibile Netscape_compatible _ în restul

funcția insertCanvas (containerid, canvasid, lățime, înălțime)

dacă (navigator.plugins navigator.mimeTypesnavigator.mimeTypes.length)

"" +

" „+

" "+"

„;

// Interfața de aplicație Flash este chiar mai mică decât alte, în ea

// există posibilitatea de a crea doar cele mai simple curbe Bezier.

Articole similare