- From: Dr. Olaf Hoffmann <Dr.O.Hoffmann@gmx.de>
- Date: Wed, 20 Aug 2008 14:49:05 +0200
- To: www-svg@w3.org, david.vergnaud@finnova.ch
This fragment uses several svg-elements. Because preserveAspectRatio="none" the aspect ratio is not conserved, with and height are adjusted in such a way, that the viewBox fits into the rectangle area defined by width, height, x, y of the svg elements. stroke-width in percentage is related to the size of the parant svg element in this case, it is not completely trivial to determine without further calculation as explained in the recommendations, how much it is compared to a stroke-width of the outermost svg element and because of preserveAspectRatio="none" the presentation of a stroke in x direction can have a different width than in y direction. One solution could be to avoid several svg element, all having their own viewport with some more complicated relation to the outermost svg element. Obviously then one has to recaluate the paths and has to avoid transformations in general, which change the aspect ratio. The other method to simply this is to avoid preserveAspectRatio="none", with any other value for the aspect ratio, at list horizontal and vertical lines with the same stroke-width have the same width in the presentation. This avoids other maybe undesired distortions too. In SVG 1.1 a transformation with a scaling effect typically results in a change of the stroke-width in the presentation. To get the same width, one has to recalculate this or to avoid such scaling effect different for to graphical element. SVG 1.2 (tiny) has a property to aviod such effects and distortions, this is vector-effect="non-scaling-stroke" http://dev.w3.org/SVG/profiles/1.2T/publish/painting.html#NonScalingStroke Maybe this is what you are looking for, but it is not available in SVG 1.1 or with viewers/editors/convertors only intended for SVG 1.1, for them the explanations above apply.
Received on Wednesday, 20 August 2008 13:04:56 UTC