1

When I clip a path and then transform it using the skew tool, the skewed version has a variable width. E.g. the green path is a clipped version of the red one. Copies at the bottom are skewed at once. Their width is different. There are no filters used.

enter image description here

If I release the clip before skewing, width is constant. If I release the clip after skewing, the variable width remains.

  1. Is there an explanation or is it a bug?
  2. What property makes the width variable on the skewed and unclipped version? Can I obtain the same effect with a standard tool?

Using version 0.92.

2 Answers 2

2

Checked the SVG code. The code of the path still contains the skew transformation matrix after the clipping path is removed. Deleting the transformation matrix line removes the skew effect, it doesn't transform the result to the same as the skewing was applied to an unclipped path. That can be considered as a bug. It can be also a decided property. Only Inkscape developer team knows.

If one applies skew to a group the group also gets the same removable transformation matrix, but the matrix vanishes if ungroup is applied. That suggests it's a bug.

SVG code can be seen and edited in a text editor. As well one can use in Inkscape Edit > XML editor dialog to see it and fix it:

enter image description here

The red curve is an open path which was put under a clipping path, the image was skewed and the clipping path was removed by applying Object > Clip > release.

Deleting the transformation matrix line returns the original path form:

enter image description here

Applying the skew transformation to the unclipped path doesn't insert transformation matrix line, but edits the path nodes and handles destructively. The transformation matrix in the code affects also how the path is rendered.

Here's the code for a skewed group of 2 identical open paths. I must admit that it's annoying for a person who expects uniformly wide paths. But as a compensation he gets a removable effect:

enter image description here

I use Inkscape v1.1

1
  • Thanks for the comprehensive explanation and the solution. I'm perplexed about a possible use. I found this clipped path after importing a matplotlib graph, it seems plots from this library are clipped for some reason.
    – mins
    Nov 17, 2021 at 17:08
1

After you release the clip, a transform matrix is still applied to both the path and the clip path. Not sure I'd call this a bug. Transform matrices are non-destructive, and preferable in some cases, but annoying in others. Skewing a path that's not inside a clip applies a destructive transform to the path, without creating a transform matrix.

It can be fixed though. There's an Inkscape Extension called Apply Transforms which could be used to apply the transform matrix to the path. That would in effect transform the path, removing the matrix, and remove the distortion from the stroke. Note: The linked extension is for Inkscape 1.0+. There is also an older pre-1.0 version available for earlier Inkscape releases.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.