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;
        }
原文地址:https://www.cnblogs.com/xcai/p/2528486.html