Bug report submitted (albeit poorly worded)... attaching info & xml.
---
The following pertains specifically to the document uploaded.
If you have objects that are grouped together and have gradient fills, and resize or move them, the gradients get distorted.
With the example file all you have to do is open it and move or resize the objects and you will see it happen when you release the mouse button. It happens with both radial & linear gradients.
Interesting observations: If you move the objects while they are grouped, the gradient gets distorted. However, if you ungroup the objects and still have them all selected, and move them, it does not distort them.
If you use a linear gradient on the group and modify the control vector in the gradient editor, it has a "mirror" effect with the way it fills the objects (in the attached example document at least). If you use the linear gradient and the objects are ungrouped but all selected, the control vector can only affect the size of the gradient not the direction (straight up and down only, regardless of how the control vector appears).
---
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"> <!-- Created with Inkscape (http://www.inkscape.org/) --> <svg width="210mm" height="297mm" xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://web.resource.org/cc/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:xlink="http://www.w3.org/1999/xlink" id="svg1" sodipodi:version="0.32" inkscape:version="0.39cvs" sodipodi:docname="gradient issues.svg" sodipodi:docbase="C:\Documents and Settings\ja.SWARTZBIVENS\Desktop"> <defs id="defs3"> <linearGradient id="linearGradient2256"> <stop style="stop-color:#000;stop-opacity:1;" offset="0" id="stop2257" /> <stop style="stop-color:#fff;stop-opacity:1;" offset="1" id="stop2258" /> </linearGradient> <radialGradient inkscape:collect="always" xlink:href="#linearGradient2256" id="radialGradient2259" cx="0.49999955" cy="0.49999973" r="0.14165640" fx="0.49999955" fy="0.49999973" spreadMethod="repeat" gradientUnits="objectBoundingBox" /> </defs> <sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="1.2279853" inkscape:cx="305.25952" inkscape:cy="417.84945" inkscape:window-width="1280" inkscape:window-height="934" inkscape:window-x="-4" inkscape:window-y="-4" inkscape:current-layer="svg1" /> <metadata id="metadata4"> <rdf:RDF id="RDF5"> <cc:Work rdf:about="" id="Work6"> <dc:format id="format7">image/svg+xml</dc:format> <dc:type id="type9" rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> </cc:Work> </rdf:RDF> </metadata> <g id="g1629"
style="fill-opacity:1.0;fill:url(#radialGradient2259);fill-rule:nonzero; "> <path sodipodi:type="arc"
style="fill:url(#radialGradient2259);fill-opacity:1.0;fill-rule:nonzero; stroke:#000000;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linej oin:miter;stroke-opacity:1.0000000;" id="path1000" sodipodi:cx="384.36435" sodipodi:cy="345.53485" sodipodi:rx="99.330116" sodipodi:ry="99.330116" d="M 483.69447 345.53485 A 99.330116 99.330116 0 1 0 285.03423,345.53485 A 99.330116 99.330116 0 1 0 483.69447 345.53485 z" transform="translate(-1.439554,2.842171e-14)" /> <path sodipodi:type="star"
style="fill:url(#radialGradient2259);fill-opacity:1.0;fill-rule:nonzero; stroke:#000000;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linej oin:miter;stroke-opacity:1.0000000;" id="path1002" sodipodi:sides="5" sodipodi:cx="310.94644" sodipodi:cy="686.71222" sodipodi:r1="138.67744" sodipodi:r2="69.338722" sodipodi:arg1="1.5707963" sodipodi:arg2="2.1991149" inkscape:flatsided="false" inkscape:rounded="0.00000000" inkscape:randomized="0.00000000" d="M 310.94645,825.38966 L 270.19016,742.80842 L 179.05636,729.56591 L 245.00140,665.28537 L 229.43388,574.51981 L 310.94644,617.37350 L 392.45900,574.51981 L 376.89149,665.28538 L 442.83653,729.56590 L 351.70272,742.80843 L 310.94645,825.38966 z "
transform="matrix(1.000000,0.000000,0.000000,-1.000000,71.97831,1414.305 )" /> <path
style="fill:url(#radialGradient2259);fill-opacity:1.0;fill-rule:nonzero; stroke:#000000;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linej oin:miter;stroke-opacity:1.0000000;" d="M 247.60551,529.94241 L 518.24408,529.94241" id="path1003" /> </g> </svg>
-----Original Message----- From: bulia byak [mailto:buliabyak@...400...] Sent: Tuesday, September 21, 2004 1:20 PM To: Joshua A. Andler Subject: Re: [Inkscape-devel] Win32 build
As I said in the original post, I couldn't just post it to the list. Most cases aren't like that, but it's the preference of my bosses.
You can submit a bug report and attach it there. Or you can upload it to any server you have access to and give us the URL. Or if it's small, you can simply paste the SVG code into the message.
If you have objects that are grouped together and have gradient fills, and resize or move them, the gradients get distorted.
Thanks, this turns out to be another different bug. It's not that the gradient is distorted, the reason is that the group itself has gradient fill. Initially objects' fills take precedence, but when you move the group, the object gradient fills disappear (that's the bug) and the group's fill becomes visible.
Interesting observations: If you move the objects while they are grouped, the gradient gets distorted. However, if you ungroup the objects and still have them all selected, and move them, it does not distort them.
Yes because the group disappears along with its fill.
If you use a linear gradient on the group and modify the control vector in the gradient editor, it has a "mirror" effect with the way it fills the objects (in the attached example document at least).
Yes because one of the grouped shapes is mirrored (with its transform= attribute) and when the gradient is applied to it, it is rotated as well. I think this will need to be fixed by not applying gradient fill recursively, or premultiplying it with the inverse of the object's transform before applying. So this is another bug.
If you use the linear gradient and the objects are ungrouped but all selected, the control vector can only affect the size of the gradient not the direction (straight up and down only, regardless of how the control vector appears).
And this is yet another bug in fill&stroke which does not seem to take into account gradientTransform of the gradient it's adjusting.
So, there's a bunch of bugs here that need fixing. I will address them after Peter fixes the recent gradient transforms bug (described in my previous mail).
participants (2)
-
bulia byak
-
Joshua A. Andler