我有一个自定义控件,它是一个矩形,里面有一些细节,但它本质上是一个矩形。
我有一个中心点(X,Y),我称之为“重心”,它“代表”该点。这意味着当我将新位置设置给对象时,我希望该点位于设置的位置。当我旋转对象时,我需要它围绕此点旋转。当我缩放对象时,该点必须保持在设置前的位置。只有对象的大小必须更改。
例如,为了简单起见,假设我有一个10x10的正方形。我将重心设置在正方形的正中心:(5,5)。然后我将对象的位置设置为(100,100)。那么,正方形将位于:
(95,95),(105,95),(105,105),(95,105),这意味着其中心将位于所需位置。
如果我使用值2缩放正方形,则新的4个点的位置将是:
(90,90),(110,90),(110,110),(90,110),这意味着其中心仍将位于所需位置。
如果我将其旋转45度,则它将围绕其中心旋转,位置如下:
(92.93,92.93),(107.07,92.93),(107.07,107.07),(92.93,107.07)
如何在WPF中进行所有这些变换,使其中心完全可配置且对程序透明?我只想设置比例、位置、旋转角度和中心以正确绘制它。
谢谢!
我有一个中心点(X,Y),我称之为“重心”,它“代表”该点。这意味着当我将新位置设置给对象时,我希望该点位于设置的位置。当我旋转对象时,我需要它围绕此点旋转。当我缩放对象时,该点必须保持在设置前的位置。只有对象的大小必须更改。
例如,为了简单起见,假设我有一个10x10的正方形。我将重心设置在正方形的正中心:(5,5)。然后我将对象的位置设置为(100,100)。那么,正方形将位于:
(95,95),(105,95),(105,105),(95,105),这意味着其中心将位于所需位置。
如果我使用值2缩放正方形,则新的4个点的位置将是:
(90,90),(110,90),(110,110),(90,110),这意味着其中心仍将位于所需位置。
如果我将其旋转45度,则它将围绕其中心旋转,位置如下:
(92.93,92.93),(107.07,92.93),(107.07,107.07),(92.93,107.07)
如何在WPF中进行所有这些变换,使其中心完全可配置且对程序透明?我只想设置比例、位置、旋转角度和中心以正确绘制它。
谢谢!