Article View: alt.pl.programy.flash-5
Article #34103Re: Flash - po najechaniu myszką zmiana koloru
From: Neo[EZN]
Date: Mon, 16 Apr 2007 15:18
Date: Mon, 16 Apr 2007 15:18
62 lines
3005 bytes
3005 bytes
> Zastanawiający jest fakt czemu nie można nadać tego dynamicznie, skoro
> wszystkie inne filtry działają też przypisane przez ActionScript.
> Przyglądałem się dzisiaj klasie ColorMatrix która teoretycznie odpowiada
> za te operacje, ale nie widzę możliwości wykonania takiego efektu, może
> ktoś podpowie?
Można elegancko zmieniać saturację zdjęcia, napisałem taki skrypcik który to
demonstruje - wystarczy wklepać to do klatki filmu i wrzucić do library
obrazek zlinkowany pod nazwą "fot".
import flash.filters.ColorMatrixFilter;
import flash.filters.BitmapFilter;
import flash.display.BitmapData;
_root.createEmptyMovieClip("mc",_root.getNextHighestDepth());
var bd:BitmapData = BitmapData.loadBitmap("fot");
_root.mc.attachBitmap(bd,_root.mc.getNextHighestDepth());
_root.onEnterFrame = function()
{
zx = _root._xmouse/100;
zy = 1-zx;
trace("zx: "+zx+", zy: "+zy);
var mat:Array = new Array();
mat= mat.concat([zx, zy, 0, 0, 0]);
mat= mat.concat([0, 1, 0, 0, 0]);
mat= mat.concat([0, zy, zx, 0, 0]);
mat= mat.concat([0, 0, 0, 1, 0]);
var filtr:BitmapFilter = new ColorMatrixFilter(mat);
_root.mc.filters = new Array(filtr);
};
Generalnie szarość uzyskuje się poprzez podanie takich samych wartości w
jednej (lub więcej!) kolumn:
rA,rB,rC,r0
gA,gB,gC,g0
bA,bB,bC,b0
aA,aB,aC,a0
Wystarczy że rA = gA = bA albo rB = gB = bB alborC = gC = bC (wartość równa
1 = oryginalna jasność) - z tym, że jeśli chcemy aby szarość była brana z
kanału czerwonego to rA = gA = bA, reszta zero itd...
Najlepsza szarość to chyba taka uzyskana z wszystkich kanałów:
0.33 , 0.33 , 0.33 , 0 , 0
0.33 , 0.33 , 0.33 , 0 , 0
0.33 , 0.33 , 0.33 , 0 , 0
0 , 0 , 0 , 1 , 0
Saturacją sterujemy tak zmieniając parametry matrycy, żeby płynnie przeszła
z np.
0,1,0,0
0,1,0,0
0,1,0,0
do
1,0,0,0
0,1,0,0
0,0,1,0
(jedna wartość jest stała)
Technical Details
Message-ID:
<f004bb$80v$1@nemesis.news.tpi.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!newsfeed.atman.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mailReferences:
<evm3el$4kt$1@news.onet.pl> <evu7su$qg2$1@achot.icm.edu.pl> <evub28$j1m$1@news.lublin.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!newsfeed.atman.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mail From: "Neo[EZN]" <adessaxKASUJ@wp.pl> Newsgroups: alt.pl.programy.flash-5 Subject: Re: Flash - po najechaniu myszką zmiana koloru Date: Mon, 16 Apr 2007 17:18:33 +0200 Organization: tp.internet - http://www.tpi.pl/ Lines: 64 Message-ID: <f004bb$80v$1@nemesis.news.tpi.pl> References: <evm3el$4kt$1@news.onet.pl> <evu7su$qg2$1@achot.icm.edu.pl> <evub28$j1m$1@news.lublin.pl> NNTP-Posting-Host: ayd57.neoplus.adsl.tpnet.pl X-Trace: nemesis.news.tpi.pl 1176736939 8223 83.27.115.57 (16 Apr 2007 15:22:19 GMT) X-Complaints-To: usenet@tpi.pl NNTP-Posting-Date: Mon, 16 Apr 2007 15:22:19 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.3028 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3028 X-RFC2646: Format=Flowed; Response MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit