From e96e385f5bdc9f04722dec19aadf5355e78fa857 Mon Sep 17 00:00:00 2001
From: zengwenjie <1663900244@qq.com>
Date: Fri, 26 Sep 2025 11:20:44 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E7=9F=A2=E9=87=8F=E5=9B=BE?=
=?UTF-8?q?=E5=8F=98=E6=8D=A2=E9=80=BB=E8=BE=91?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
DeedyDesigner/Deedy.Activity/Helpers/VisualHelper.cs | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/DeedyDesigner/Deedy.Activity/Helpers/VisualHelper.cs b/DeedyDesigner/Deedy.Activity/Helpers/VisualHelper.cs
index 115a2cd..6154263 100644
--- a/DeedyDesigner/Deedy.Activity/Helpers/VisualHelper.cs
+++ b/DeedyDesigner/Deedy.Activity/Helpers/VisualHelper.cs
@@ -159,21 +159,22 @@ namespace Deedy.Activity.Helpers
/// 如果解析成功则返回「Geometry」对象
public static Geometry? Help_ParseAsGeometry(this string geometryString) => TypeDescriptor.GetConverter(typeof(Geometry)).ConvertFromString(geometryString) as Geometry;
///
- /// 对一个矢量图形进行连续的「缩放」、「平移」到一个「Rectangle」后再以图形中心点为中心沿顺时针旋转指定角度
+ /// 以图形中心点为中心沿顺时针旋转指定角度;再对一个矢量图形进行连续的「缩放」、「平移」到一个「Rectangle」
///
/// 要进行映射的矢量图形
/// 目标位置
/// 旋转角度
/// 克隆平移后的新矢量图形
- public static Geometry Help_MappingToBounds(this Geometry geometry, Rect rectangle, double angle)
+ public static Geometry Help_MappingToBounds(this Geometry geometry, double angle, Rect rectangle)
{
Geometry newGeometry = geometry.Clone();
newGeometry.Transform = new TransformGroup
{
Children = {
- new ScaleTransform(rectangle.Width/ newGeometry.Bounds.Width, rectangle.Height/newGeometry.Bounds.Height), // 宽度放大2倍,高度放大1.5倍
- new TranslateTransform(rectangle.Left-newGeometry.Bounds.Left, rectangle.Top-newGeometry.Bounds.Top), // X/Y方向位移
- new RotateTransform(angle,rectangle.Width/2,rectangle.Height/2) // 顺时针旋转90度
+ new RotateTransform(angle,newGeometry.Bounds.Left + newGeometry.Bounds.Width/2,
+ newGeometry.Bounds.Top + newGeometry.Bounds.Height/2), // 顺时针旋转90度
+ new ScaleTransform(rectangle.Width/newGeometry.Bounds.Width, rectangle.Height/newGeometry.Bounds.Height), // 宽度放大2倍,高度放大1.5倍
+ new TranslateTransform(rectangle.Left-newGeometry.Bounds.Left, rectangle.Top-newGeometry.Bounds.Top), // X/Y方向位移
}
};
return newGeometry;