• AS3.0实现图像的扭曲


     1 import flash.display.Sprite;
     2 import flash.display.Loader;
     3 import flash.net.URLRequest;
     4 import flash.events.Event;
     5 import flash.display.Bitmap;
     6 import flash.display.BitmapData;
     7 
     8 var pixelsArr : Array;
     9 var loader : Loader;
    10 var url : String;
    11 var bitMap : Bitmap;
    12 var outPut : Bitmap;
    13 var outPutData : BitmapData;
    14 
    15 init("imag.jpg");
    16 
    17 function draw(source:BitmapData, w:Number, h:Number, topLen:Number ):BitmapData 
    18 {
    19     outPutData=new BitmapData(1024,768,true, 0x000000);
    20     var tanA : Number=(h - topLen) / w;
    21     var tmpHeight:Number;
    22     for (var i:uint=0; i < w; i++)
    23     {
    24         tmpHeight = topLen + i*tanA;
    25         for (var k:uint=0; k < tmpHeight; k++)
    26         {
    27             outPutData.setPixel32(i, k + (h - tmpHeight) / 2, source.getPixel32(i*(source.width/w), k*(source.height / tmpHeight)));
    28         }
    29     }
    30     return outPutData;
    31 }
    32 
    33 function init(strURL:String):void
    34 {
    35     loader = new Loader();
    36     loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onPicLoaded);
    37     loader.load(new URLRequest(strURL));
    38     
    39 }
    40 
    41 function onPicLoaded(evt : Event):void 
    42 {
    43     addChild(loader);
    44     loader.x = 10
    45     loader.y = 10
    46     loader.width=300;
    47     loader.height=200;
    48     
    49     pixelsArr = new Array();
    50     var $loader : Loader = Loader(evt.target.loader);
    51     bitMap = Bitmap($loader.content);
    52     var $bitmapData: BitmapData = bitMap.bitmapData;
    53     outPut = new Bitmap(draw($bitmapData, 200, 500, 160));
    54     outPut.y = 100;
    55     outPut.x = 310
    56     addChild(outPut);
    57 }
  • 相关阅读:
    vue打包报错
    css实现平行四边形
    js计算两个天数的差值
    创建vue项目的第一步——之安装vue 命令更新了
    Vue-router详解路由
    Vue-axios 在vue cli中封装
    jQuery-自己封装的弹框
    vue-上传文件
    vue-axios当只调用vue.js又需要axios请求多时
    Vant-UI移动端时间选择框
  • 原文地址:https://www.cnblogs.com/ebel/p/2508940.html
Copyright © 2020-2023  润新知