当前位置:主页>FLASH AS 编程>AS基础篇>AS 3.0>文章内容
  • AS3.0中的位图扭曲变形
  • 来源:闪吧 作者:humorguy 2008-03-01 【
 DisplacementMapFilter 类使用指定的 BitmapData 对象(称为置换图图像)的像素值执行对象置换。 您可以使用此滤镜将扭曲或斑点效果应用于从 DisplayObject 类中继承的任何对象,例如 MovieClip、SimpleButton、TextField 和 Video 对象,以及 BitmapData 对象。
Flash动画:

 

更精确的控制,让图形按照自己的需要来转换:Flash动画

 

下面是我用作映射图像的位图:Flash动画

 

当scaleX的值越来越时,图像的左右两边会发生弯曲变形,应该如何做才能将图像变形成梯形状?程序代码:

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);




上一篇:AS3与Red5之间的参数传递   下一篇:AS3 提示类
  • 用户名:新注册) 密码: 匿名评论
  • 评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
推荐内容
·AS3中文版帮助_chm
·as3编译器错误中文说明
·Flash CS3 AS3 doubleClick测试
FLASH源文件

Copyright © 2006-2008 flashas.net All Rights Reserved.
网站内容咨询: admin#flashas.net (#为@) 联系QQ:40777822 浙ICP备06033001号
(本网站最佳浏览解析度为1024*768, 建议使用IE 6.0或以上版本浏览器。)