[color="#000000"]import flash.display.BitmapData;
import flash.geom.Matrix;
/**
* 转图片为马赛克
* @author www.fanflash.cn
* @version 0.1
* @sourcemc 源图像mc
* @p 马赛克程度参数
*/
function mosaicEffect(sourcemc:MovieClip, p:Number) {
//原图像数据
if(sourcemc.oldbmp==undefined){
sourcemc.oldbmp=new BitmapData(sourcemc._width,sourcemc._height,false);
sourcemc.oldbmp.draw(sourcemc)
}
//像素级缩小位图
var sm:Matrix = new Matrix();
sm.scale(1/p, 1/p);
//新建马赛克图层
var ml:MovieClip=sourcemc.createEmptyMovieClip("ml",0);
//新图像数据
var bmp:BitmapData = new BitmapData(sourcemc.oldbmp.width/p, sourcemc.oldbmp.height/p, false);
bmp.draw(sourcemc.oldbmp, sm);
ml.attachBitmap(bmp, 0);
ml._width=sourcemc.oldbmp.width;
ml._height=sourcemc.oldbmp.height;
}
上面这个函数打包了图像变为马赛克所须要的代码,可以重复使用,如下面这样:
var t:Number=0;
var b:Boolean=true
onEnterFrame=function(){
if(b){
t++
}else{
t--
}
if(t>40){
b=false
}
if(t
本文转自:http://www.5uflash.com/flashjiaocheng/Flashaschengxu/1383.html
import flash.geom.Matrix;
/**
* 转图片为马赛克
* @author www.fanflash.cn
* @version 0.1
* @sourcemc 源图像mc
* @p 马赛克程度参数
*/
function mosaicEffect(sourcemc:MovieClip, p:Number) {
//原图像数据
if(sourcemc.oldbmp==undefined){
sourcemc.oldbmp=new BitmapData(sourcemc._width,sourcemc._height,false);
sourcemc.oldbmp.draw(sourcemc)
}
//像素级缩小位图
var sm:Matrix = new Matrix();
sm.scale(1/p, 1/p);
//新建马赛克图层
var ml:MovieClip=sourcemc.createEmptyMovieClip("ml",0);
//新图像数据
var bmp:BitmapData = new BitmapData(sourcemc.oldbmp.width/p, sourcemc.oldbmp.height/p, false);
bmp.draw(sourcemc.oldbmp, sm);
ml.attachBitmap(bmp, 0);
ml._width=sourcemc.oldbmp.width;
ml._height=sourcemc.oldbmp.height;
}
上面这个函数打包了图像变为马赛克所须要的代码,可以重复使用,如下面这样:
var t:Number=0;
var b:Boolean=true
onEnterFrame=function(){
if(b){
t++
}else{
t--
}
if(t>40){
b=false
}
if(t
本文转自:http://www.5uflash.com/flashjiaocheng/Flashaschengxu/1383.html