From d3bd0ea9476488b535a882c1928d5f13e3d9a4ab Mon Sep 17 00:00:00 2001 From: xiaoqidun Date: Wed, 1 Jul 2026 21:01:22 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E9=A2=9C=E8=89=B2=E6=B8=B2=E6=9F=93):=20?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E4=B8=80=E4=B8=AA=E9=A2=9C=E8=89=B2=E6=B8=B2?= =?UTF-8?q?=E6=9F=93=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ofdgo_text.go | 44 ++++++++++++++++++++++++++++---------------- 1 file changed, 28 insertions(+), 16 deletions(-) diff --git a/ofdgo_text.go b/ofdgo_text.go index 4cba91d..6a33cca 100644 --- a/ofdgo_text.go +++ b/ofdgo_text.go @@ -148,13 +148,16 @@ func parseFillColor(fillColor *FillColor) color.Color { if fillColor.Pattern != nil { return nil } - if strings.TrimSpace(fillColor.Value) != "" { - return parseColorWithAlpha(fillColor.Value, fillColor.Alpha) - } if fillColor.AxialShd != nil { return parseAxialShdColor(fillColor.AxialShd, fillColor.Alpha) } - return parseRadialShdColor(fillColor.RadialShd, fillColor.Alpha) + if fillColor.RadialShd != nil { + return parseRadialShdColor(fillColor.RadialShd, fillColor.Alpha) + } + if strings.TrimSpace(fillColor.Value) != "" { + return parseColorWithAlpha(fillColor.Value, fillColor.Alpha) + } + return nil } // parseFillPaint 解析填充画刷 @@ -167,9 +170,6 @@ func parseFillPaint(fillColor *FillColor, x, y, pageH, originX, originY float64) if fillColor.Pattern != nil { return nil } - if strings.TrimSpace(fillColor.Value) != "" { - return parseColorWithAlpha(fillColor.Value, fillColor.Alpha) - } if gradient := parseAxialShdGradient(fillColor.AxialShd, fillColor.Alpha, x, y, pageH, originX, originY); gradient != nil { return gradient } @@ -179,7 +179,13 @@ func parseFillPaint(fillColor *FillColor, x, y, pageH, originX, originY float64) if fillColor.AxialShd != nil { return parseAxialShdColor(fillColor.AxialShd, fillColor.Alpha) } - return parseRadialShdColor(fillColor.RadialShd, fillColor.Alpha) + if fillColor.RadialShd != nil { + return parseRadialShdColor(fillColor.RadialShd, fillColor.Alpha) + } + if strings.TrimSpace(fillColor.Value) != "" { + return parseColorWithAlpha(fillColor.Value, fillColor.Alpha) + } + return nil } // parseStrokeColor 解析勾边颜色 @@ -189,13 +195,16 @@ func parseStrokeColor(strokeColor *StrokeColor) color.Color { if strokeColor == nil { return nil } - if strings.TrimSpace(strokeColor.Value) != "" { - return parseColorWithAlpha(strokeColor.Value, strokeColor.Alpha) - } if strokeColor.AxialShd != nil { return parseAxialShdColor(strokeColor.AxialShd, strokeColor.Alpha) } - return parseRadialShdColor(strokeColor.RadialShd, strokeColor.Alpha) + if strokeColor.RadialShd != nil { + return parseRadialShdColor(strokeColor.RadialShd, strokeColor.Alpha) + } + if strings.TrimSpace(strokeColor.Value) != "" { + return parseColorWithAlpha(strokeColor.Value, strokeColor.Alpha) + } + return nil } // parseStrokePaint 解析勾边画刷 @@ -205,9 +214,6 @@ func parseStrokePaint(strokeColor *StrokeColor, x, y, pageH, originX, originY fl if strokeColor == nil { return nil } - if strings.TrimSpace(strokeColor.Value) != "" { - return parseColorWithAlpha(strokeColor.Value, strokeColor.Alpha) - } if gradient := parseAxialShdGradient(strokeColor.AxialShd, strokeColor.Alpha, x, y, pageH, originX, originY); gradient != nil { return gradient } @@ -217,7 +223,13 @@ func parseStrokePaint(strokeColor *StrokeColor, x, y, pageH, originX, originY fl if strokeColor.AxialShd != nil { return parseAxialShdColor(strokeColor.AxialShd, strokeColor.Alpha) } - return parseRadialShdColor(strokeColor.RadialShd, strokeColor.Alpha) + if strokeColor.RadialShd != nil { + return parseRadialShdColor(strokeColor.RadialShd, strokeColor.Alpha) + } + if strings.TrimSpace(strokeColor.Value) != "" { + return parseColorWithAlpha(strokeColor.Value, strokeColor.Alpha) + } + return nil } // parseAxialShdColor 解析轴向渐变颜色