flash工作大部分的时间都跟如何显示图片打交道,flash8已经有了BitmapData类,通过这个类我们可以用程序动态的切割倒入的图片,非常实用的一个类库。
- package org.geom {
- import flash.display.BitmapData;
- import flash.display.Bitmap
- import flash.display.MovieClip;
- import flash.geom.Rectangle;
- import flash.utils.ByteArray;
- public class BitmapDataFormat extends MovieClip {
- public function BitmapDataFormat() { }
- //切割图片
- public static function format(bitmapData:BitmapData, pieceW:Number, pieceH:Number):Array {
- var _w:Number = bitmapData.width
- var _h:Number = bitmapData.height
- var pieceBox:Array = []
- for (var i:Number = pieceW; i<= _w; i+=pieceW) {
- for (var j:Number = pieceH; j<=_h ; j+=pieceH) {
- var tempRec:Rectangle = new Rectangle(i-pieceW,j-pieceH,pieceW,pieceH);
- bitmapData.lock();
- var tempColor:ByteArray = bitmapData.getPixels(tempRec);
- var bmd:BitmapData = new BitmapData(pieceW, pieceH, true, 0x00FFFF);
- tempColor.position = 0;
- bmd.setPixels(new Rectangle(0, 0, pieceW, pieceH), tempColor);
- var bm:Bitmap =new Bitmap(bmd);
- bm.x = i-pieceW;
- bm.y = j-pieceH;
- pieceBox.push(bm) } }
- return pieceBox }
- /*//ByteArray * 实例,注意这个地方pieceW和pieceH跟长和宽的倍数关系
- function symbol(){
- var _w:Number = bitmapData.width
- var _h:Number = bitmapData.height
- var pieceW:Number=_w/10
- var pieceH:Number=_h/10
- BitmapDataFormat.format(bitmapData, pieceW, pieceH)
- } */
- } }