《電子技術應用》
您所在的位置:首頁 > 其他 > 設計應用 > Flash中利用ActionScript3.0實現圖像的扭曲效果
Flash中利用ActionScript3.0實現圖像的扭曲效果
來源:微型機與應用2012年第16期
陳銀鳳
(內蒙古財經大學 計算機信息管理學院,內蒙古 呼和浩特 010051)
摘要: 主要在Flash CS3環境中利用ActionScript3.0腳本語言的BitmapData 類和DisplacementMapFilter濾鏡來實現圖像的扭曲效果。
Abstract:
Key words :

摘  要: 主要在Flash CS3環境中利用ActionScript3.0腳本語言的BitmapData 類和DisplacementMapFilter濾鏡來實現圖像的扭曲效果。
關鍵詞: Flash; ActionScript; BitmapData; 扭曲

    Flash與Dreamweaver、Fireworks一起被稱作“網頁制作三劍客”[1]。隨著網絡技術的不斷發展,Flash已成為當今網絡世界中的熱點技術,其使用者可以充分發揮自己的想象力,設計和創作出具有圖形、聲音、視頻和動畫的各種交互內容,從而使廣告、網站、游戲、賀卡、教學課件及音樂動畫等真正獨具特色。
    與其他動畫制作軟件相比,Flash制作的動畫容量小、操作方便、綠色免安裝,非常適合在網絡中傳播。借助ActionScript能夠制作出更為細膩、逼真的動畫。ActionScript是Flash專用的腳本語言,采用面向對象的編程思想,通常以動畫中的關鍵幀、按鈕實例、影片剪輯實例作為對象來對ActionScript進行定義和編寫,以幫助用戶按照自己的意愿更加精確地創建動畫,實現自己的意圖。ActionScript由Flash Player中的ActionScript虛擬機(AVM)來解釋執行,其代碼通常被編譯器編譯成“字節碼格式”,字節碼嵌入SWF文件中,SWF文件由運行時環境Flash Player執行。ActionScript的版本已從1.0發展到如今的3.0,虛擬機也從AVM發展為支持ActionScript 3.0的新一代AVM2,其執行速度是之前ActionScript版本的10倍。ActionScript 3.0旨在方便創建擁有大型數據集和面向對象的可重用代碼庫的高度復雜應用程序。
     本文主要闡述在Flash CS3環境中利用ActionScript3.0的BitmapData類和DisplacementMapFilter濾鏡實現圖像的扭曲效果。Flash CS3是Adobe公司收購Macromedia公司后將Macromedia Flash更名為Adobe Flash后的一款動畫軟件。
1 BitmapData類和DisplacementMapFilter濾鏡
1.1 BitmapData 類

    使用BitmapData類可以處理Bitmap對象的數據(像素)??梢允褂?BitmapData 類的方法創建任意大小的透明或不透明位圖圖像,并在運行時采用多種方式操作這些圖像。也可以訪問使用flash.display.Loader類加載的位圖圖像的BitmapData。此類允許將位圖呈現操作與Flash Player的內部顯示更新例程分隔開來。通過直接操作BitmapData對象,用戶可以創建非常復雜的圖像,不會因連續重新繪制矢量數據的內容而產生每幀開銷。BitmapData類的方法支持多種無法通過通用濾鏡接口獲得的效果。BitmapData對象包含像素數據的數組。該數據可以表示完全不透明的位圖,或表示包含Alpha通道數據的透明位圖。以上任一類型的BitmapData對象都作為32 bit整數的緩沖區進行存儲。每個32 bit整數確定位圖中單個像素的屬性。
    每個32 bit整數都是4個8 bit通道值(從0~255)的組合,這些值描述像素的Alpha及紅色、綠色、藍色的(ARGB)值。當將4個通道(紅色、綠色、藍色和Alpha)與BitmapData.copyChannel()方法或DisplacementMapFilter.componentX屬性和DisplacementMapFilter.componentY屬性一起使用時,這些通道以數字形式表示,分別為:1(紅色)、2(綠色)、4(藍色)和8(Alpha)。
    (1)構造函數
    BitmapData(width:Number, height:Number, [transparent:Boolean], [fillColor:Number])
     (2)公共屬性
     height:Number[只讀]:位圖圖像的高度,以像素為單位。
     rectangle:Rectangle[只讀]:定義位圖圖像大小和位置的矩形。
     transparent:Boolean [只讀]:定義位圖圖像是否支持每個像素具有不同的透明度。
     width:Number[只讀]:位圖圖像的寬度,以像素為單位。
1.2 DisplacementMapFilter濾鏡
    DisplacementMapFilter類使用指定的 BitmapData對象(稱為置換圖圖像)的像素值執行對象置換??梢允褂么藶V鏡將扭曲或斑點效果應用于從 DisplayObject 類中繼承的任何對象,例如MovieClip、SimpleButton、TextField、Video對象以及BitmapData對象。
     DisplacementMapFilter需要有一個灰度圖像作為置換映射圖像,并基于這個映射圖像的像素對另外一個圖像進行扭曲。映射圖像中比中性灰亮的像素在目標圖像中對應位置上向左上角移動,較暗的像素則向右下角移動。
    (1)構造函數
    DisplacementMapFilter(mapBitmap:BitmapData=null, mapPoint:Point=null, componentX:uint=0, componentY:uint=0, scaleX:Number=0.0, scaleY:Number=0.0,mode:String="wrap", color:uint=0, alpha:Number=0.0)
     (2)公共屬性
     alpha: Number                  //指定對于超出范圍的替換
                               應用的Alpha透明度值
     color:uint     //指定對于超出范圍的替換應用什么顏色
     componentX:uint              //說明在映射圖像中使用哪個
                               顏色通道來置換x結果
     componentY:uint          //說明在映射圖像中使用哪個
                          顏色通道來置換y結果
    mapBitmap:BitmapData             //包含置換映射數據的
                                   BitmapData對象
    mapPoint:Point        //一個值,它包含目標顯示對象的左
                      上角相對于映射圖像左上角的偏移量
    mode:String                                 //濾鏡模式
    scaleX:Number            //用于縮放映射計算的x
                              置換結果的乘數
     scaleY:Number              //用于縮放映射計算的y
                              置換結果的乘數。
2 應用置換映射濾鏡創建圖像扭曲效果
    使用BitmapData對象[1]和DisplacementMapFilter濾鏡可以實現圖像的扭曲效果。DisplacementMapFilter類使用BitmapData對象(稱為置換圖圖像)中的像素值在新對象上執行置換效果。通常,置換圖圖像與將要應用濾鏡的實際顯示對象或BitmapData實例不同。置換效果包括置換過濾的圖像中的像素,也就是說,將這些像素移開原始位置一定距離。
     實現步驟:
     (1)新建一個Flash文檔,設置其舞臺大小為340×220像素,背景為白色。
    (2)選中圖層1,命名為“圖像層”,導入準備好的一張圖片到舞臺,圖片大小設置為164×220像素,選中該圖片并轉化為影片剪輯,元件名為“image”。選中舞臺中的image影片剪輯實例,命名為“pic”,并在舞臺中靠左放置。從庫中再次拖入一個image影片剪輯實例,無需命名,舞臺中靠右放置(為與扭曲效果作對比)。
     (3)菜單欄中點擊 “插入/新建元件” ,選擇影片剪輯,元件命名為“displacer”,進入元件編輯環境。在圖層1中,使用矩形工具繪制一個164×220的無邊框灰色矩形,如圖1所示。新建圖層2,在右下角繪制一個直徑為108像素的正圓,顏色填充為放射狀(3個色塊均勻分布,從左到右顏色值分別為:#956A89、#6B1452、#000000;Alpha值分別為:100%、50%、0%),如圖2所示。

    

 

    (4)回到場景中,新建圖層2,命名為“displacer層”,將displacer影片剪輯拖入舞臺,影片剪輯實例命名為“dis”。其正好放置在“pic”實例的正上方。
      (5)新建圖層3,命名為“AS”,選中第一幀,打開“動作”面板,輸入如下代碼:
     import flash.display.BitmapData;
    import flash.geom.Point;
  import flash.filters.DisplacementMapFilter;
                    //沿著x軸替換通道1(紅色)上的像素
    var componentX:Number = 1;
                  //沿著y軸替換通道2(綠色)上的像素
    var componentY:Number = 2;
                                   //沿著x軸替換的強度
    var scale_X:Number = -128;
                                  //沿著y軸替換的強度
    var scale_Y:Number = -128;
                  //使用ignore模式可以顯示下面扭曲的圖像
    var mode:String = "ignore";                  //偏移量
    var offset:Point = new Point(0, 0);
                  //構建一個空的BitmapData實例,并將影
                  片剪輯實例讀進該實例
    var myBitmapData:BitmapData=new BitmapData(pic.width,
        pic.height);
                  //創建一個DisplacementMapFilter濾鏡實例
    var myFilter:DisplacementMapFilter = new Displacement
        MapFilter(myBitmapData,offset,componentX,componentY,
         scale_X, scale_Y, mode);
    myBitmapData.draw(dis);//為影片剪輯實例pic應用濾鏡
      pic.filters = [myFilter];
      dis.visible = false;
    (4)保存文檔,按Ctrl+Enter鍵進行執行,測試圖像的扭曲效果。如圖3左側所示,影片剪輯實例pic出現扭曲效果。

     由于Flash制作出的動畫體積小,非常適合在網絡中傳播,所以深受廣大網民的喜愛。要想在Flash環境中制作出效果逼真的動畫,ActionScript是不可或缺的部分。ActionScript是針對Flash Player運行時環境的編程語言,它用于處理各種人機交互、數據交互等功能,目前主要采用的版本是ActionScript3.0。ActionScript3.0與Flash CS3(或以上版本)相結合,可以創建出各種不同的應用特效,實現豐富多彩的動畫效果。本文中正是利用ActionScript3.0的BitmapData類和DisplacementMapFilter濾鏡實現了圖像的扭曲效果。Flash中專業制作動畫者可以借助ActionScript3.0,更加充分地發揮想象力,隨心所欲地制作出交互性極強的復雜動畫, 體現美侖美換的意境。
參考文獻
[1] 張亞飛.Flash ActionScript 3.0開發王[M].北京:電子工業出版社,2008.
[2] 王傳華.Flash MX 2004實例教程[M].北京:清華大學出版社,2004.

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          一区二区视频欧美| 一区二区久久| 日韩一级在线观看| 国产在线麻豆精品观看| 久久久天天操| 久久精品视频在线| 亚洲女爱视频在线| 亚洲精品极品| 亚洲性夜色噜噜噜7777| 久久久久久久久蜜桃| 欧美日韩免费视频| 亚洲一区二区三区在线视频| 欧美在线视频免费播放| 午夜精品在线视频| 黄色精品在线看| 一区二区国产在线观看| 久久精品91久久久久久再现| 欧美激情国产日韩| 亚洲一区免费在线观看| 欧美日韩综合一区| 亚洲国产高潮在线观看| 国产精品亚洲一区二区三区在线| 久久综合五月天婷婷伊人| 久久丁香综合五月国产三级网站| 一本色道久久88综合日韩精品| 亚洲二区在线观看| 亚洲欧美春色| 国产亚洲精品资源在线26u| 一区二区三区精密机械公司| 亚洲三级免费| 亚洲图色在线| 在线精品亚洲| 亚洲欧美在线一区二区| 麻豆成人在线播放| 欧美—级a级欧美特级ar全黄| 亚洲裸体在线观看| 国产精品视频一区二区三区| 亚洲黄色精品| 欧美视频一区二区在线观看| 欧美一区二区三区男人的天堂| 久久精品1区| 香蕉久久久久久久av网站| 欧美成人免费网| 免费在线日韩av| 国产欧美日本一区二区三区| 韩国福利一区| 亚洲一区二区三区成人在线视频精品| 这里只有精品丝袜| 亚洲精品欧美专区| 狠狠色丁香久久婷婷综合_中| 在线视频亚洲一区| 欧美性开放视频| 欧美福利视频在线观看| 久久中文字幕一区二区三区| 国产精品欧美精品| 国产精品影片在线观看| 亚洲国产日韩一区二区| 在线看片成人| 亚洲淫片在线视频| 黑丝一区二区| 午夜精品福利一区二区蜜股av| 国产精品毛片va一区二区三区| 亚洲高清久久| 国产精品乱人伦中文| 欧美高清在线视频观看不卡| 国产精品成人aaaaa网站| 激情文学一区| 激情五月综合色婷婷一区二区| 在线观看av一区| 国产精品theporn88| 一区二区三区视频免费在线观看| 欧美日韩精品免费观看视一区二区| 久久人人97超碰人人澡爱香蕉| 狠狠色噜噜狠狠色综合久| 亚洲男女自偷自拍| 国产精品亚洲一区二区三区在线| 欧美精品粉嫩高潮一区二区| 激情久久婷婷| 国产一区二区三区高清播放| 欧美色视频日本高清在线观看| 亚洲影视在线播放| 99视频+国产日韩欧美| 欧美日韩国产不卡在线看| 亚洲看片网站| 久久久一区二区三区| 国产亚洲欧美中文| 亚洲一区二区3| 欧美视频一区二区三区…| 一区二区三区**美女毛片| 亚洲精品久久视频| 欧美日韩亚洲免费| 久久久国产精品一区二区三区| 老司机免费视频久久| 一区二区不卡在线视频 午夜欧美不卡在| 欧美日韩国产三级| 亚洲大胆视频| 久久综合色8888| 久久久一区二区三区| 欧美日韩视频在线一区二区观看视频| 久久―日本道色综合久久| 国产在线麻豆精品观看| 国产主播喷水一区二区| 国产精品久久久久7777婷婷| 国内成人自拍视频| 久久久国产亚洲精品| 国产精品天美传媒入口| 欧美a级理论片| 久久综合一区| 亚洲精品一区二区三区av| 亚洲视频在线观看网站| 亚洲国产精品ⅴa在线观看| 亚洲精品中文字幕有码专区| 久久亚洲色图| 欧美成人一区二区三区| 久久综合九九| 亚洲欧洲偷拍精品| 亚洲一区三区在线观看| 免费在线播放第一区高清av| 篠田优中文在线播放第一区| 免费欧美电影| 欧美日韩在线播放一区二区| 欧美高清在线视频观看不卡| 久久人人97超碰国产公开结果| 欧美一级夜夜爽| 欧美激情一区在线| 欧美日韩国产区| 久久久久久网址| 国产精品分类| 国产精品久久激情| 亚洲综合导航| 欧美成人首页| 欧美高清一区| 久久人人爽爽爽人久久久| 亚洲国产日韩一区二区| 黄色精品网站| 看欧美日韩国产| 国内精品99| 国产精品每日更新在线播放网址| 欧美国产国产综合| 蜜臀91精品一区二区三区| 黑人一区二区三区四区五区| 久久久99精品免费观看不卡| 欧美资源在线| 激情成人av| 欧美日韩在线不卡| 欧美日本三区| 欧美一区二区精品在线| 国产日产精品一区二区三区四区的观看方式| 久久亚洲精品视频| 欧美视频在线不卡| 欧美夫妇交换俱乐部在线观看| 亚洲欧美日韩在线播放| 欧美在线视频观看| 在线视频亚洲欧美| 欧美日韩在线电影| 久久免费国产| 久久精品国产亚洲一区二区| 国产日韩三区| 国产欧美不卡| 亚洲视频在线免费观看| 亚洲综合精品| 久久精品导航| 久久人人爽国产| 国产日韩精品综合网站| 国产精品狠色婷| 欧美不卡高清| 99热在这里有精品免费| 国产麻豆精品在线观看| 亚洲免费观看在线观看| 91久久久久久| 久久夜色精品国产亚洲aⅴ| 亚洲动漫精品| 久久综合久久88| 国产无遮挡一区二区三区毛片日本| 麻豆精品视频在线观看| 午夜国产精品视频免费体验区| 欧美片第1页综合| 在线免费观看一区二区三区| 91久久久久久| 欧美日韩大片| 老妇喷水一区二区三区| 欧美日韩麻豆| 亚洲一区二区三区四区五区午夜| 国产小视频国产精品| 国产亚洲精品久久久久动| 国产精品亚洲成人| 亚洲欧美电影院| 黄色成人在线网址| 中文精品一区二区三区| 欧美在线视频全部完| 国产亚洲精品久久久| 久久综合导航| 亚洲日本中文字幕| 国产精品一区视频网站| 亚洲精品1区| 母乳一区在线观看| 亚洲大片一区二区三区| 亚洲国产欧美国产综合一区| 久久9热精品视频| 国产三区二区一区久久| 久久亚洲一区二区三区四区| 欧美+日本+国产+在线a∨观看| 亚洲欧洲午夜| 亚洲性感激情| 久久久久久综合网天天| 亚洲一区二区三区精品动漫| 午夜精品视频| 欧美一区不卡| 国产片一区二区| 国产手机视频精品| 亚洲第一精品夜夜躁人人爽| 香蕉久久a毛片| 亚洲开发第一视频在线播放| 午夜免费日韩视频| 欧美日韩在线一区二区三区| 午夜精品久久久久久久蜜桃app| 久久精品道一区二区三区| 美国十次了思思久久精品导航| 亚洲国产欧美一区二区三区同亚洲| 亚洲大片精品永久免费| 国产精品视频大全| 影音先锋亚洲电影| 99精品欧美一区二区蜜桃免费| 亚洲国产三级在线| 亚洲图片在线| 国产精品免费福利| 老牛影视一区二区三区| 亚洲国产精品美女| 在线精品观看| 在线日韩日本国产亚洲| 一区二区激情视频| av成人动漫| 欧美区高清在线| 国产精品裸体一区二区三区| 亚洲午夜久久久久久久久电影网| 国产精品日韩| 亚洲国产欧美不卡在线观看| 黄色国产精品一区二区三区| 欧美午夜不卡影院在线观看完整版免费| 国产欧美日韩不卡| 亚洲精品一区二区三区樱花| 国产精品久久久久永久免费观看| 亚洲激情av在线| 亚洲少妇最新在线视频| 国产欧美在线| 欧美激情综合亚洲一二区| 国产精品亚洲第一区在线暖暖韩国| 国产麻豆精品在线观看| 久久中文字幕导航| 欧美日韩精品免费观看视频| 中文在线资源观看网站视频免费不卡| 欧美成人免费在线| 欧美本精品男人aⅴ天堂| 在线不卡欧美| 久久都是精品| 亚洲欧美国产日韩天堂区| 亚洲女女做受ⅹxx高潮| 好看的日韩av电影| 欧美精品亚洲一区二区在线播放| 日韩网站免费观看| 欧美区视频在线观看| 欧美日韩欧美一区二区| 欧美三级在线| 国产女精品视频网站免费| 欧美日韩一区二区免费在线观看| 欧美日韩在线播放一区二区| 久久精品理论片| 亚洲人精品午夜| 久久国产福利国产秒拍| 国产伦精品一区二区三区| 国产精品入口夜色视频大尺度| 亚洲毛片av在线| 亚洲国产午夜| 中文日韩在线视频| 欧美jizzhd精品欧美巨大免费| 久久成人免费日本黄色| 久久久噜噜噜久噜久久| 你懂的一区二区| 亚洲色图在线视频| 亚洲一区二区三区在线看| 欧美一区二区在线观看| 日韩视频在线播放| 亚洲影视九九影院在线观看| 国产精品永久| 国产麻豆精品视频| 蜜桃久久精品乱码一区二区| 国产婷婷色综合av蜜臀av| 日韩视频在线观看一区二区| 国产一区二区视频在线观看| 亚洲免费一区二区| 狠狠做深爱婷婷久久综合一区| 国产精品yjizz| 久久精品日韩一区二区三区| 国产一区二区黄| 欧美日韩国产成人在线观看| 欧美日精品一区视频| 久久婷婷综合激情| 欧美日韩大陆在线| 狠狠做深爱婷婷久久综合一区| 一本久久综合亚洲鲁鲁五月天| 国产精自产拍久久久久久蜜| 日韩网站免费观看| 国产精品永久| 国产精品无码专区在线观看| 午夜精品成人在线视频| 亚洲国产精品尤物yw在线观看| 国产精品嫩草99av在线| 午夜精品短视频| 久久精品麻豆| 亚洲自拍电影| 欧美日韩精品在线观看| 欧美v日韩v国产v| 亚洲伊人观看| 亚洲精品免费看| 国产精品自在线| 欧美日韩在线一区| 国产精品大片wwwwww| 久久精品三级| 欧美成人亚洲成人| 在线观看不卡av| 国产欧美精品日韩精品| 久久久精品日韩欧美| 欧美网站在线| 一区二区三区四区蜜桃| 亚洲激精日韩激精欧美精品| 久久久久成人精品免费播放动漫| 国产精品香蕉在线观看| 欧美1区2区3区|