캔버스에 그래픽을 그릴 때 BitmapData.copyPixels()
을 사용했습니다 (Bitmap
).BitmapData.draw()를 사용하지 않고 BitmapData를 구성하는 픽셀을 빠르게 회전하려면 어떻게해야합니까?
매우 느리기 때문에 draw()
을 사용하지 않고 결과 그래픽을 회전해야합니다.
어떻게 대상 그래픽을 회전시킬 수 있습니까? 원점 (점)과 라디안을 기반으로 그래픽을 구성하는 픽셀을 먼저 재구성 할 수있는 공식이나 라이브러리가 있다고 가정합니다.
저는 그러한 논리를 만들 수 없다는 것을 확신합니다. 이렇게하면 알려진 라이브러리가 있다면 정말 멋질 것입니다.
XNA의 SpriteBatch.Draw()
메서드와 비슷한 것을 얻고 싶습니다.이 메서드는 rotation
을 5 번째 인수로 사용할 수 있습니다.
그래서. . . 픽셀을 새로운 객체로 복사하기 전에 BitmapData를 회전하려고합니까? 아니면 이후에? 아니면 상관 하나? – iND
@iND 어느 것이 더 빠르든지, 나는 똑같을 것 같은 느낌이 든다. – Marty
copyPixels가 매우 빠른 이유는 행렬 곱셈을 적용 할 필요가 없으므로 변환 결과로 다양한 픽셀 값을 추론 할 필요가 없기 때문입니다. copyPixels는 직접 복사입니다. draw() 메서드는 필요한 작업에 대해 가장 빨리 사용할 수있는 메서드입니다. draw() 메소드의 속도가 느려지는데 어려움을 겪고 있다면 다양한 주어진 회전에서 BitmapData를 미리 그린 다음 가장 가까운 것을 선택하십시오. – alecmce