Wpf 形状进行渲染转换时缩放形状的大小

Wpf 形状进行渲染转换时缩放形状的大小,wpf,transformation,Wpf,Transformation,在我的应用程序中,我将TransformGroup应用于图像。TransformGroup由一个ScaleTransform和一个TranslateTransform组成,因此我可以使用鼠标放大、缩小和移动图像。在图像上,我想设置一些点,并通过在这些点位置设置形状来可视化它们。当我放大、缩小或移动图像时,形状将保持在其在图像中的位置。为了实现这一点,我也将图像的变换组应用于形状。这个很好用。现在的问题是形状大小也被缩放了。但我希望它保持不变 我希望我能充分解释我的问题。 提前感谢我会尝试将内部形

在我的应用程序中,我将TransformGroup应用于图像。TransformGroup由一个ScaleTransform和一个TranslateTransform组成,因此我可以使用鼠标放大、缩小和移动图像。在图像上,我想设置一些点,并通过在这些点位置设置形状来可视化它们。当我放大、缩小或移动图像时,形状将保持在其在图像中的位置。为了实现这一点,我也将图像的变换组应用于形状。这个很好用。现在的问题是形状大小也被缩放了。但我希望它保持不变

我希望我能充分解释我的问题。
提前感谢

我会尝试将内部形状放入另一个具有“反向”缩放因子的scaletransform,这意味着形状的最终缩放因子始终为1。

您不能“将形状放入scaletransform”。没有任何进一步的解释,这是一个无用的回答。谢谢你的回答萨沙。但这不起作用,因为形状的位置取决于我使用鼠标设置的点的坐标。这些坐标通过RenderTransform进行内部转换。但是渲染变换也会影响形状的渲染宽度和高度。所以我想将大小的转换与坐标之一解耦,不能直接对形状使用RenderTransform。相反,您应该通过图像的RenderTransform只变换它们的位置,最肯定的是在代码隐藏的某个地方。通过
RenderTransform.Value
(或从内部变换对象)获取变换矩阵,并在坐标点上使用矩阵方法。是的,这是一个好主意。然而,我很感兴趣的是,是否有可能避免渲染变换影响形状的大小。我会照你说的做