Accessibilità

Articolo su Flash

 

Varicose-g: Grafici ad Alte Prestazioni con Flash 8


Indice

Applicare Ritocchi sul Colore

Uno degli effetti inaspettati dell'applicazione di filtri di sfocatura più volte alla stessa bitmap data era che il colore si degradava, eventualmente lasciandomi con un inguardabile sfondo nero. Sono stato in grado di valutarlo e creare più interesse visuale modificando leggermente il colore in ogni fotogramma utilizzando una istanza di ColorMatrixFilter. Avevo tre obbiettivi in mente metre applicavo questi filtri.

  • Misurare l'effetto di annerimento della sfocatura interattiva
  • Ottenere la curvatura verso un colore più cyan(verde-blue) nel momento in cui lo sfumavano
  • Avere le venature sfumare durante il tempo continuando a mostrare l'immagine di sfondo

Ho impiegato un pò di tempo lavorando con i numeri nella matrice, ma alla fine, ho ottenuto una cosa simile alla seguente:

import flash.filters.BlurFilter;
import flash.filters.ColorMatrixFilter;
import flash.geom.Rectangle;
import flash.geom.Point;
/* Questo codice viene eseguito una volta */
// impostate il filtro di sfocatura (2x2 blur, qualità 1):
blurF = new BlurFilter(2,2,1);
// impostate la matrice del filtro di colore:
colorF = new ColorMatrixFilter([
            0.97,0,0,0,2, // riduce il rosso più rapidamente
            0,0.99,0,0,3, // riduce il verde più lentamente
            0,0,0.98,0,4, // riduce il blue
            0,0,0,1,-0.7 // esegue la sfumatura alpha
        ]);
// impostae il rettangolo al quale vogliamo applicare il filtro:
rect = new Rectangle(0,0,WIDTH,HEIGHT);
// impostate il punto che utilizzeremo:
pnt = new Point(0,0);
/* Questo codice viene eseguito ogni 5 fotogrammi */
// applicate il filtro alla bitmap:
canvasBmp.applyFilter(canvasBmp,rect,pnt,colorF);
canvasBmp.applyFilter(canvasBmp,rect,pnt,blurF);

Dove Andare da Qui

Scaricate i codici sorgente se non lo avete ancora fatto e guardate come le cose funzionano nel contesto. Fate delle prove, cambiate i numeri, lavorate con le matrici e guardate cosa accade. Se costruite qualche cosa di bello, inviatemi una e-mail—Sarò felice di vederlo.

Se incontrate alcune difficoltà nel comprendere come funziona la matrice, non vi preoccupate, l'aiuto è in arrivo—tenete sott'occhio a gskinner.com/blog* per ilpannello gMatrix, la classe ColorMatrix ed altri utili tutorial e codici. Ho anche esteso questo esperimento in jungle-g (guardate Figure 2). Potete vedere jungle-g ed altri esperimenti nel mio blog.

L'esperimento continua—jungle-g.

Figura 2. L'esperimento continua—jungle-g.