씨++빌더의 경우라기 보다는 이렇게 생각을 해보십시요.
이것은 알고리즘쪽에 더 가까운 것이죠.. 코드 보다는...
하나의 사각형을 원하는 각도로 돌리려면 이러한 방법이 있습니다.
수학시간에 배운 sin과 cos등 삼각함수를 사용해야하는데...
각 픽셀(점)의 좌표를 삼각함수로 만든 식으로 계산해서 원하는 곳에 다시 찍어주면
되는것입니다.
그리 어렵지는 않지만 그리 간단하지도 않습니다.
먼저 공식을 성립시키시고 그것을 사용하시면 됩니다.
씨++빌더의 이미지 컴포넌트에서 하신다면 이렇게 가능할 수 있습니다.
참.. 저는 델파이를 사용하므로 델파이의 형식으로 말씀을 드리죠.
별로 어려움을 없을것이라고 생각이 되는군요.
먼저 원하는 영역을을 정하고 반복문으로 점을 하나씩 옮기는것인데...
90도의 경우는 조금 쉬울수 있을것 같습니다.
for i := 1 to image.width do
for j := 1 to image.height do
image2.canvas.pixel[j,i] := image.canvas.pixel[i,j];
이문을 하기전에 image2.width := │image.height;
image2.height := image.width;
라는 문을 해주시고요...
온라인상에서 머리에서 나오는데로 한것이라서 제데로 동작이 될지는 모르겠지만
위의 방식은 점을 그리는 방향을 세로에서 가로로 바꾸는 것입니다.
이것처럼 ア÷?일정한 식으로 만들어 뿌려주면 될것 같습니다.
잘 안되시면 질문을 올려주십시요.
|