Flash CS3 - Flash CS4

Free tutorials and scripts for all.
Actionscript 3.0

Immagine in negativo con Actionscript 3.0

This is a discussion on Immagine in negativo con Actionscript 3.0 within the Articoli e tutorials forums, part of the Flash CS3 e Actionscript 3.0 category; Vi serve applicare un effetto digitale negativo ad una o più immagini ? Questo articolo dimostra come farlo utilizzando una matrice ...


Go Back   Forum Flash CS3 Flash CS4 > Flash CS3 e Actionscript 3.0 > Articoli e tutorials

Register FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 20-09-07, 13:07
Administrator
 
Join Date: Jul 2007
Location: Cesena
Posts: 4,486
Rep Power: 6
Flep is on a distinguished road
Immagine in negativo con Actionscript 3.0

Vi serve applicare un effetto digitale negativo ad una o più immagini ?
Questo articolo dimostra come farlo utilizzando una matrice digitale negativa che viene poi applicata all' immagine con la classe ColorMatrixFilter.
Applicandoci poi un intervallo, ci si potrebbe giocarci sopra un po...
In questo esempio applico 3 slider in modo da controllare i canali red, green, blue della matrice negativa.

Vediamo l' esempio...

Creo un FLA che salvo con nome ' negativo.fla ' al cui interno,
creo 2 istanze MovieClip che chiamo ' img_mc ' e ' pic_mc ' al cui interno inserisco un' immagine.
Creo tre istanze del componente Slider a cui assegno i rispettivi nomi istanza: ' red_slider ', ' green_slider ', ' blue_slider '.

Creo la Document Class, un file AS che salvo con nome ' Negativo.as ', implementata in questo modo:
Code:
package
{
	import flash.display.MovieClip;
	import flash.filters.ColorMatrixFilter;
	import flash.events.Event;
	
	public class Negativo extends MovieClip
	{
		public function Negativo()
		{
			init();
			listener();
		}
		
		private function init():void
		{
			stage.frameRate=31;
			
			pic_mc.filters=[new ColorMatrixFilter(
			[-1,0,0,0,255,
			0,-1,0,0,255,
			0,0,-1,0,255,
			0,0,0,1,0])];
			
			red_slider.minimum=0;
			red_slider.maximum=255;
			red_slider.value=255;
			green_slider.minimum=0;
			green_slider.maximum=255;
			green_slider.value=255;
			blue_slider.minimum=0;
			blue_slider.maximum=255;
			blue_slider.value=255;
		}
		
		private function listener():void
		{
			pic_mc.addEventListener(Event.ENTER_FRAME,go);
			function go(e:Event):void
			{
				e.target.filters=[new ColorMatrixFilter(
				[-1,0,0,0,red_slider.value,
				0,-1,0,0,green_slider.value,
				0,0,-1,0,blue_slider.value,
				0,0,0,1,0])];
			}
		}
	}
}
Risultato:










Analizziamo il codice.

Metodi:
init();
imposto la velocità del framerate
stage.frameRate=31;
applico la matrice negativa a pic_mc utilizzandouna nuova istanza della classe ColorMatrixFilter e assegnandola alla proprietà filters della MovieClip (appunto pic_mc )
pic_mc.filters=[new ColorMatrixFilter(
[-1,0,0,0,255,
0,-1,0,0,255,
0,0,-1,0,255,
0,0,0,1,0])];
per ogni slider assegno un valore minimo ed uno massimo ( minimo zero, massimo 255...gli stessi valori massimi della scala RGB ) e gli assegno un valore di partenza
red_slider.minimum=0;
red_slider.maximum=255;
red_slider.value=255;
green_slider.minimum=0;
green_slider.maximum=255;
green_slider.value=255;
blue_slider.minimum=0;
blue_slider.maximum=255;
blue_slider.value=255;


listener();
aggiungo un intervallo ENTER_FRAME
pic_mc.addEventListener(Event.ENTER_FRAME,go);

function go(e:Event):void
applico la matrice negativa in base ai valori ottenuti dalla posizione delle tre sliders
e.target.filters=[new ColorMatrixFilter(
[-1,0,0,0,red_slider.value,
0,-1,0,0,green_slider.value,
0,0,-1,0,blue_slider.value,
0,0,0,1,0])];

Stay tuned !
__________________

 


I recommend: Essential Actionscript 3.0

- Non rispondo ai messaggi privati con domande tecniche. Apri una discussione sul forum !
- I do not reply technicians pvt messages. Open a thread !
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is On
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump

Similar Threads

Thread Thread Starter Forum Replies Last Post
Actionscript 3 Girare una immagine AmiFlash Actionscript 3.0 base 0 31-10-08 08:55
ImageLoader - caricatore di immagine Flep Componenti di FlepStudio 5 25-10-08 01:47
Riflesso immagine Enzuccio Actionscript 3.0 avanzato 7 20-04-08 20:33
Tagliare un' immagine con la classe Matrix di Actionscript 3.0 Flep Articoli e tutorials 0 20-09-07 10:00
Simplebutton e immagine CS3 pancu Actionscript 3.0 avanzato 3 30-07-07 20:23


All times are GMT. The time now is 11:32.


Powered by vBulletin versione 3.7.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0 RC4
Forum SiteMap


FlepStudio
by Filippo Lughi
P.IVA 03605860406