论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > Flash AS编程教程
Tag:2.0,3.0菜鸟,游戏,,cs,技巧,源码,,文本,文字,函数,音乐,随机,拖拽,asp,access,xml,mc,视频教程

AS3.0中的位图扭曲变形

文章类别:Flash AS编程 | 发表日期:2008-10-6 17:44:04


 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 提示类 人气:3398
下一篇:{技巧}AS3与Red5之间的参数传递 人气:3821
视频教程列表
文章教程搜索
 
Flash AS推荐教程
Flash AS热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058