当前位置:软件学习 > Flash >>

AS3位图扭曲

DisplacementMapFilter 类使用指定的 BitmapData 对象(称为置换图图像)的像素值执行对象置换。 您可以使用此滤镜将扭曲或斑点效果应用于从 DisplayObject 类中继承的任何对象,例如 MovieClip、SimpleButton、TextField 和 Video 对象,以及 BitmapData 对象。

import flash.display.Bitmap;
import flash.display.BitmapData;

var picWidth:Number = 450;
var picHeight:Number = 450;
var endColor:uint = 0xff8080;//红色
var startColor:uint = 0x008080;//蓝色
var middleColor:uint = 0x808080;//中间色(灰色)
var myBitmapData:BitmapData = new BitmapData(picWidth,picHeight);

function drawMapBitmap(targetData:BitmapData,width:Number,height:Number):BitmapData {
    var colorDistH = (middleColor - startColor)/picHeight;
    for (var h=0; h<height; h++) {
        var thisStartColor:uint = startColor + h*colorDistH;
        var thisEndColor:uint = endColor - h*colorDistH;
        var thisColorDistW = (thisEndColor - thisStartColor)/picWidth;
        for (var w=0; w<width; w++) {
            var pixelColor:uint = thisStartColor + w*thisColorDistW;
            targetData.setPixel(w,h,pixelColor);
        }
    }
    return targetData;
}
var myBitmap:Bitmap = new Bitmap(drawMapBitmap(myBitmapData,picWidth,picHeight));
addChild(myBitmap);

补充:flash教程,动画技术
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,