1
캔버스에서 여러 개의 선택된 객체를 크기 조정하기위한 알고리즘을 알아 내려고하고 있습니다 (Visio의 동작과 비슷 함). 예를 들어 말해 나는 내 응용 프로그램에서 다음 선택한 객체를 가지고 : 경계 사각형을 기준으로 여러 객체 크기 조정
그때 다음과 같은 결과 생성하여 선택한 객체의 크기를 증가하고 경계 상자의 오른쪽 핸들을 드래그 :
을
- 어떻게 각 개체에 적용되는 스케일링의 양을 어떻게해야합니까 다음과 같이
내 질문
은? - 각 개체에 적용 할 번역 량을 얻으려면 어떻게해야합니까?
이 질문에 대한 답변을 드리겠습니다. 그리고 당신이 도울 수 있기를 바랍니다.
사실, 나는 거기 있다고 믿습니다. 이것을 고려하십시오 : http://imgur.com/FVIwL. 여기서 90도 회전 한 객체는 경계 사각형의 모퉁이에 그대로 있도록 변환되어야합니다. 이 그림은 또한 위의 수식을 사용하면 개체의 ScaleX 및 ScaleY를 계산할 때 충분하지 않음을 보여줍니다. 그림에서 테두리 상자의 너비 만 조정되었습니다. 그러나 90도 객체의 높이가 너비 대신 크기가 조정되었습니다. 따라서 경계 상자를 기준으로 한 오브젝트의 회전 각도도 고려해야합니다. – ASanch
해당 이미지에는 번역이 있지만 해당 이미지에는 크기 조정이 없습니다. 변환은 이미지를 개조하지 않습니다. 개체의 모든 픽셀을 동일한 양만큼 늘리거나 줄여서 개체의 위치를 변경합니다. 즉, 높이와 너비는 처음과 동일하게 유지됩니다. – ethicallogics
글쎄, 이미지에 크기 조정이있는 것 같습니다. 그것은 너무도 명백하지 않습니다. 약간 수정 된 예를 생각해보십시오 : http://i.imgur.com/6dCQW.png. 여기서는 경계 사각형의 크기를 원본 크기의 2 배로 조정했습니다. 이 그림의 90도 물체는 크기가 조정되었습니다 (높이가 원래의 2 배). – ASanch