From 288c9f5c1dcb207f28a4851b3728357e2a6a2bfd Mon Sep 17 00:00:00 2001 From: Mira Grudzinska Date: Wed, 8 Sep 2021 09:47:57 +0200 Subject: [PATCH] tvg_saver: fix the stroke width scaling factor To get the scaling factor from the transformation matrix we have to use two of its elements. --- src/savers/tvg/tvgTvgSaver.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/savers/tvg/tvgTvgSaver.cpp b/src/savers/tvg/tvgTvgSaver.cpp index bba2b9b4..129d3bc3 100644 --- a/src/savers/tvg/tvgTvgSaver.cpp +++ b/src/savers/tvg/tvgTvgSaver.cpp @@ -451,7 +451,7 @@ TvgBinCounter TvgSaver::serializeStroke(const Shape* shape, const Matrix* pTrans //width auto width = shape->strokeWidth(); - if (preTransform) width *= pTransform->e11; //we know x/y scaling factors are same. + if (preTransform) width *= sqrt(pow(pTransform->e11, 2) + pow(pTransform->e21, 2)); //we know x/y scaling factors are same. auto cnt = writeTagProperty(TVG_TAG_SHAPE_STROKE_WIDTH, SIZE(width), &width); //cap