Matrix实现图像旋转

// 向右旋转90度
         public  function rotateRight(bmpData:BitmapData):BitmapData {
             var mc:Matrix = new Matrix();
            mc.rotate(Math.PI/2);
            mc.translate(bmpData.height,0);
             var bmpData:BitmapData = new BitmapData(bmpData.height,bmpData.width, true,0);
            bmpData.draw(bmpData,mc);
             return bmpData;
        }
         // 向左旋转90度
         public  function rotateLeft(bmpData:BitmapData):BitmapData {
             var mc:Matrix = new Matrix();
            mc.rotate(-Math.PI/2);
            mc.translate(0,bmpData.width);
             var bmpData:BitmapData = new BitmapData(bmpData.height,bmpData.width, true,0);
            bmpData.draw(bmpData,mc);
             return bmpData;
        }
         // 水平翻转
         public  function flipHorizontal(dsp:DisplayObject):void {
             var mc:Matrix = dsp.transform.matrix;
            mc.a = -1;
            mc.tx = dsp.width + dsp.x;
            dsp.transform.matrix = mc;
        }
         // 垂直翻转
         public  function flipVertical(dsp:DisplayObject):void {
             var mc:Matrix = dsp.transform.matrix;
            mc.d = -1;
            mc.ty = dsp.height + dsp.y;
            dsp.transform.matrix = mc;
        }

你可能感兴趣的:(Matrix)