我有一个WPF控件,它显示了一个用户可以缩放,翻转和旋转的图像。与之沿着是一个用户可以绘制线条的画布。线条是使用DrawingContext在底层绘制的。我在画布上使用RenderTransformer来保持图像和画布同步。
我现在有一个例子,图像在x和y方向上的缩放不同。这显然会导致线条“歪斜”的效果,即如果图像在x方向上缩放,垂直线比水平线粗。
有什么办法可以纠正这个错误吗?DrawingContext.PushTransform和ScaleTransform可以处理厚度,但是它明显改变了坐标。
1条答案
按热度按时间sc4hvdpw1#
我将着手解决这个问题的方法如下:
我将创建变换,并将其应用于图像,但我不会将其应用于画布。
然后,当在画布上绘制每一条线时,我会使用
Transform.Transform(Point)
手动将线的每个点Map到画布的正确位置。