![]() |
|
||||||||||
|
|||||
|
Регистрация: Jul 2011
Сообщений: 7
|
Имеется Битмап, нужно повернуть его на 90 градусов для последующего сохранения в файл.
Пытаюсь сделать так: var rotationMatrix:Matrix = new Matrix(); rotationMatrix.rotate(90*Math.PI/180); var image2 = new BitmapData(imageContainer[imageNumber].getChildByName('image').width,imageContainer[imageNumber].getChildByName('image').height,true); image2.draw(imageContainer[imageNumber].getChildByName('image'), rotationMatrix, null, null, null, true); var image:Bitmap=new Bitmap(image2); image.name='image'; imageContainer[imageNumber].removeChildAt(0); imageContainer[imageNumber].addChild(image); Поворот происходит, но не относительно середины, а относительно точки (0,0) из за чего он выходит за размеры Битмапы. Как правильно повернуть его? И есть ли возможность не удалять старый image, а просто заменить его новым? |
|
|||||
|
>>Поворот происходит, но не относительно середины, а относительно точки (0,0)
перед поворотом надо сдвинуть в середину, а после вернуть обратно var bmd:BitmapData = new BitmapData(source.height, source.width); var rotationMatrix:Matrix = new Matrix(); var dX:Number = source.width / 2; var dY:Number = source.height / 2; rotationMatrix.translate( -dX, -dY); rotationMatrix.rotate(Math.PI / 2); rotationMatrix.translate( dY, dX); bmd.draw(source, rotationMatrix, null, null, null, true); var image:Bitmap = new Bitmap(bmd); |
|
|||||
|
Регистрация: Jul 2011
Сообщений: 7
|
Спасибо, silin, твой пример должен работать, решение правда нашёл чуть раньше в гугле)))
|
![]() |
![]() |
Часовой пояс GMT +4, время: 00:56. |
|
|
« Предыдущая тема | Следующая тема » |
|
|