在WPF中的缩放画布上绘制线条

yv5phkfx  于 2023-04-13  发布在  其他
关注(0)|答案(1)|浏览(142)

我有一个WPF控件,它显示了一个用户可以缩放,翻转和旋转的图像。与之沿着是一个用户可以绘制线条的画布。线条是使用DrawingContext在底层绘制的。我在画布上使用RenderTransformer来保持图像和画布同步。
我现在有一个例子,图像在x和y方向上的缩放不同。这显然会导致线条“歪斜”的效果,即如果图像在x方向上缩放,垂直线比水平线粗。

有什么办法可以纠正这个错误吗?DrawingContext.PushTransform和ScaleTransform可以处理厚度,但是它明显改变了坐标。

sc4hvdpw

sc4hvdpw1#

我将着手解决这个问题的方法如下:
我将创建变换,并将其应用于图像,但我不会将其应用于画布。
然后,当在画布上绘制每一条线时,我会使用Transform.Transform(Point)手动将线的每个点Map到画布的正确位置。

相关问题