diff --git a/src/hooks/useExport.ts b/src/hooks/useExport.ts index 5c4b18f9..bac8adee 100644 --- a/src/hooks/useExport.ts +++ b/src/hooks/useExport.ts @@ -81,6 +81,11 @@ export default () => { // 格式化颜色值为 透明度 + HexString,供pptxgenjs使用 const formatColor = (_color: string) => { + if (!_color) return { + alpha: 0, + color: '#000000', + } + const c = tinycolor(_color) const alpha = c.getAlpha() const color = alpha === 0 ? '#ffffff' : c.setAlpha(1).toHexString() diff --git a/src/hooks/useImport.ts b/src/hooks/useImport.ts index 7ce3c6ff..022a5489 100644 --- a/src/hooks/useImport.ts +++ b/src/hooks/useImport.ts @@ -319,7 +319,7 @@ export default () => { top: el.top, viewBox: [200, 200], path: 'M 0 0 L 200 0 L 200 200 L 0 200 Z', - fill: fill || 'none', + fill, gradient, fixedRatio: false, rotate: el.rotate, diff --git a/src/views/components/element/ShapeElement/BaseShapeElement.vue b/src/views/components/element/ShapeElement/BaseShapeElement.vue index 11f4c918..f661616a 100644 --- a/src/views/components/element/ShapeElement/BaseShapeElement.vue +++ b/src/views/components/element/ShapeElement/BaseShapeElement.vue @@ -43,7 +43,7 @@ stroke-linecap="butt" stroke-miterlimit="8" :d="elementInfo.path" - :fill="elementInfo.gradient ? `url(#base-gradient-${elementInfo.id})` : elementInfo.fill" + :fill="elementInfo.gradient ? `url(#base-gradient-${elementInfo.id})` : (elementInfo.fill || 'none')" :stroke="outlineColor" :stroke-width="outlineWidth" :stroke-dasharray="strokeDashArray" diff --git a/src/views/components/element/ShapeElement/index.vue b/src/views/components/element/ShapeElement/index.vue index 71d7f1d8..42d057af 100644 --- a/src/views/components/element/ShapeElement/index.vue +++ b/src/views/components/element/ShapeElement/index.vue @@ -53,7 +53,7 @@ stroke-linecap="butt" stroke-miterlimit="8" :d="elementInfo.path" - :fill="elementInfo.gradient ? `url(#editabel-gradient-${elementInfo.id})` : elementInfo.fill" + :fill="elementInfo.gradient ? `url(#editabel-gradient-${elementInfo.id})` : (elementInfo.fill || 'none')" :stroke="outlineColor" :stroke-width="outlineWidth" :stroke-dasharray="strokeDashArray"