Pārlūkot izejas kodu

fix: 修复燕尾形样式、修复图形旋转时角度问题

李志伟 1 mēnesi atpakaļ
vecāks
revīzija
0fd78020e3
1 mainītis faili ar 20 papildinājumiem un 16 dzēšanām
  1. 20 16
      src/components/view_file/components/vendors/pptx/PPT.vue

+ 20 - 16
src/components/view_file/components/vendors/pptx/PPT.vue

@@ -2,7 +2,7 @@
  * @Author: LiZhiWei
  * @Date: 2025-04-10 14:38:27
  * @LastEditors: LiZhiWei
- * @LastEditTime: 2025-04-18 14:42:19
+ * @LastEditTime: 2025-04-18 17:16:38
  * @Description:
 -->
 <template>
@@ -3770,15 +3770,13 @@ export default {
             "http://www.w3.org/2000/svg",
             "polygon"
           )
-          chevron.setAttribute(
-            "points",
-            `${element.width * 0.75},0 ${element.width},${
-              element.height * 0.5
-            } ${element.width * 0.75},${element.height} ` +
-              `0,${element.height} ${element.width * 0.25},${
-                element.height * 0.5
-              } 0,0`
-          )
+          
+        chevron.setAttribute(
+        "points",
+        `${element.width * 0.5},0 ${element.width},${element.height * 0.5} ` +
+        `${element.width * 0.5},${element.height} ` +
+        `0,${element.height} ${element.width * 0.5},${element.height * 0.5} 0,0`
+        )
 
           // 设置填充色
           setBackground(element, chevron)
@@ -3929,11 +3927,11 @@ export default {
 
           // 构建路径
           const path2 = `
-    M 0,${ry} 
-    A ${rx} ${ry} 0 1 1 ${element.width} ${ry}
-    L ${element.width - (rx - innerRx)},${ry}
-    A ${innerRx} ${innerRy} 0 1 0 ${rx - innerRx},${ry}
-    Z`
+            M 0,${ry} 
+            A ${rx} ${ry} 0 1 1 ${element.width} ${ry}
+            L ${element.width - (rx - innerRx)},${ry}
+            A ${innerRx} ${innerRy} 0 1 0 ${rx - innerRx},${ry}
+            Z`
 
           blockArc.setAttribute("d", path2.trim())
 
@@ -4115,14 +4113,20 @@ export default {
       }
 
       const transformList = []
+      let rotateDeg = element.rotate || 0
+
       if (element.isFlipV) {
         transformList.push(`scaleY(-1)`)
+        rotateDeg = -rotateDeg // 垂直翻转时反转旋转方向
       }
+
       if (element.isFlipH) {
         transformList.push(`scaleX(-1)`)
+        rotateDeg = -rotateDeg // 水平翻转时反转旋转方向
       }
+
       if (element.rotate) {
-        transformList.push(`rotate(${element.rotate}deg)`)
+        transformList.push(`rotate(${rotateDeg}deg)`)
       }
 
       if (transformList.length > 0) {