Elipse deformat - different stroke width

This is NOT a support forum. You are welcome to discuss software issues here, but all issues should be reported on Launchpad if you want them fixed.
User avatar
Grobe
Posts: 411
Joined: Tue Feb 02, 2010 2:20 am

Elipse deformat - different stroke width

Postby Grobe » Wed Jul 06, 2011 1:21 am

Hi.

I think I've found a bug in newest (0.48 r10386) version. This apply both on windows XP and W7.

I start with a elipse. It can be filled or not filled.

If I use :tool_selector: and alter it so the width and height is very different, then stroke width won't stay the same all the way around. See atached file and you will understand.

It looks the same when opening svg file in Firefox.

I can't find any options that seems to change this behaviour. But if there is, I'd like to know.
My rings looks so weird :?
Attachments
stroke_width_elipse_deformated.svg
Example file
(9.71 KiB) Downloaded 213 times
:lol:

User avatar
druban
Posts: 1917
Joined: Fri Nov 20, 2009 10:48 pm

Re: Elipse deformat - different stroke width

Postby druban » Wed Jul 06, 2011 1:58 am

Use the ellipse, star or node tool to transform ellipses and stars before they are converted to paths. Rounded corner rectangles will do similar things. After conversion the selector transformation does not thicken the stroke when scaling in one direction. With the spiral tool you must convert to path to scale in one dimension and maintain a uniform stroke weight since the spiral tool does not have a nonuniform mode. Use the official release to avoid these problems. since this is a renderer problem older files will look different when opened with the development version, and vice versa.

IMO this non bug is a good reason to convert all special shapes in your file to paths at some point in the design process....
Last edited by druban on Wed Jul 06, 2011 2:26 am, edited 2 times in total.
Your mind is what you think it is.

~suv
Posts: 2272
Joined: Sun May 10, 2009 2:07 am

Re: Elipse deformat - different stroke width

Postby ~suv » Wed Jul 06, 2011 2:00 am

Grobe wrote:I think I've found a bug in newest (0.48 r10386) version. This apply both on windows XP and W7.

Well, actually you discovered that a long-standing bug has been fixed in the new renderer:
This change in the renderer visibly affects lots of operations. The basic problem for users with this change has just been filed as Please keep in mind that development snapshots are work-in-progress, and the merge of the new renderer in r10326 was a recent major change. Give the Inkscape developers team some time to address this change in other tools where needed (you can subscribe to the report if you are interested updates on the issue). Technically speaking (at least as far as I understand the issue), it is not a bug (it's in accordance to the SVG specifications), but it can result in noticeable changes to the rendering of stroked shapes when transforming (stretching or skewing) them with the select tool, since it is not transparent to the user on which level / how this transformation is applied or stored in the SVG source.

~suv
Posts: 2272
Joined: Sun May 10, 2009 2:07 am

Re: Elipse deformat - different stroke width

Postby ~suv » Wed Jul 06, 2011 3:07 am

~suv wrote:Give the Inkscape developers team some time to address this change (…) where needed
(…)

To consider: do you prefer that your SVG files look differently in Inkscape than in any other SVG renderer? You yourself noted that now Inkscape renders the file the same as e.g. Firefox (test Opera, Chrome and Squiggle, too). The roadmap for Inkscape 1.0 is still 100% compliance with the SVG specification (Inkscape is an SVG editor, AFAIU it doesn't just use the SVG file format because it happened to be around (and free) when the predecessors of Inkscape (Gill, SodiPodi) started).

I don't deny the change or say there isn't currently confusion rising due to complex transforms not being transparent to the user. This needs to be addressed, but IMHO not by reverting to the behavior of the old renderer - at least not without having developers explore the related issues in-depth.

Bottom line: see quote above. Use the 'Does this bug affect you' link on the bug report page if you are concerned.

User avatar
Grobe
Posts: 411
Joined: Tue Feb 02, 2010 2:20 am

Re: Elipse deformat - different stroke width

Postby Grobe » Wed Jul 06, 2011 7:24 am

There is a thing I cannot understand. I might have misunderstood this:

The SVG spesicication says that a resize transformation on a elipse is followed by a change on it's stroke that reflect the transformation.
If I draw a elipse, then rotate it, and then using node tool to stretch it further and then I get my desired result (same stroke width).

Is this only because the elipse transformation shall be transparent for user?

And with transparent: Does that mean that object that stretches is visible all the time?

What about allow user to choose a non-transparent modus for objects such as elipse. So that only the outline display during stretch? That should work ok for me.
:lol:

~suv
Posts: 2272
Joined: Sun May 10, 2009 2:07 am

Re: Elipse deformat - different stroke width

Postby ~suv » Wed Jul 06, 2011 8:12 am

Grobe wrote:And with transparent: Does that mean that object that stretches is visible all the time?

What about allow user to choose a non-transparent modus for objects such as elipse. So that only the outline display during stretch? That should work ok for me.

Sorry for creating misunderstandings by an unfortunate choice of words: in no way did I intend to talk about transparency as in 'visibility of objects on canvas' or fill/stroke opacity. What I wanted to express is that in the current GUI there is no easy way for a user to know whether the transformation has been applied to the path geometry itself (for example when scaling, stretching or skewing a regular path, scaling or stretching a rectangle) or whether a transformation matrix is stored separately (as "formula") with the object and applied by Inkscape when rendering it (scaling, stretching, skewing or rotating a shape - ellipse, star/polygon, spiral), or a combination of rotating and other transforms later on [1]. It gets even more complicated when you think about (nested) groups which can cause the contained objects to get scaled non-uniformly too. And you have to consider the preference settings (optimized [default] vs preserved transforms).

As I tried to express in my previous comment(s): I'd rather have this discussed by those who know the source code and inner workings well in Inkscape, to come up with a statement, implement additional options or even revert this change in the renderer.

[1] You have to dig into 'Object > Transforms… > Matrix: [x] Edit current matrix' to know, or inspect an object's data in 'Edit > XML Editor…'


Return to “Discuss Software Issues”