来一发FLASH AS 完成马赛克效果
Flash是一个非常优秀的矢量动画制作软件,它以流式控制技术和矢量技术为核心,制作的动画具有短小精悍的特点,所以被广泛应用于网页动画的设计中,以成为当前网页动画设计最为流行的软件之一。一样平常完成马赛克有2种举措,接纳的都是遍历图象上的像素,对相隔必定局限内的像素添补统一色彩,只不外采样的色彩地位分歧,有选中央点的,也有选局限内全体像素均匀值的,思索到flash的效力成绩,这个是选择中央点的,能够免却大批轮回
同时注重stride要4的倍数,否则的话..本人看吧.哈哈(月光注:实在用2的倍数也就能够了)
importflash.display.BitmapData;
//场景中摆个叫img的mc就ok
varoldBmp:BitmapData=newBitmapData(img._width,img._height);
oldBmp.draw(img);
varnewBmp:BitmapData=mosaic(oldBmp,12);
varmc=createEmptyMovieClip("mc",1);
mc.attachBitmap(newBmp,getNextHightestDepth());
mc._x=img._width;
functionmosaic(bmp:BitmapData,stride:Number):BitmapData{
varstartTime=getTimer();
varnewBmp:BitmapData=newBitmapData(bmp.width,bmp.height);
varw=bmp.width/stride+1;
varh=bmp.height/stride+1;
varedgeW=bmp.width%stride;//边沿不敷stride的部分
varedgeH=bmp.height%stride;
varcenterW=(stride-1)/2;//第一格的中央点
varcenterH=centerY;//第一格永久是方的
vartmpX,tmpY;//轮回中的实在像素地位,后面w,h被除过了..
varblockW,blockH;//马赛克的格子
vari=-1;
while(++i<w){
tmpX=i*stride;
if(i==w-1){
blockW=edgeW;
}else{
blockW=stride;
}
centerW=(blockW-1)/2;
varj=-1;
while(++j<h){
tmpY=j*stride;
if(i==h-1){
blockH=edgeH;
}else{
blockH=stride;
}
centerH=(blockH-1)/2;
varcolor=bmp.getPixel(tmpX+centerW,tmpY+centerH);
varm=-1;
while(++m<blockW){
varn=-1
while(++n<blockH){
newBmp.setPixel(tmpX+m,tmpY+n,color);
}
}
}
}
trace("Cost:"+(getTimer()-startTime));
returnnewBmp;
}
以上代码请用FLASH8编译实行.
下载FLA文件
下载SWF文件
论坛原文:http://www.blueidea.com/bbs/NewsDetail.asp?id=2535173
ActionScript是一种程序语言的简单文本文件.FLA档案能够直接包含ActionScript。 flash有这么多的优势,那么它的优缺点和设计方面的关系是什么? 中坚的程序员趋向于嘲笑脚本语言,但是对于那些没有计算机科学学位的人来说,脚本语言可能使他们头疼。 而作为富媒体营销概念中的重要手段,很长一段时间,或者说,在未来,富媒体技术的不断完善,Flash动画广告的优势会越来越明显。 在Web页面上使用声音是可能的,但是在精确的时间播放声音几乎是不可能的。Flash通过把声音放入时间期限内解决了这个问题,因此你现在可以把声音连接到动画的特定部分或者某个用户交互过程。 所以不要使用不必要的高祯率 - 否则老的、慢的计算机在显示动画时会阻塞。 Flash是一种以向量图方式制成的网页动画,相比MPEG,AVI等的影片的档案大小就小很多. 所以不要使用不必要的高祯率 - 否则老的、慢的计算机在显示动画时会阻塞。
页:
[1]