Mercurial > MadButterfly
view examples/svg2code_ex/svg2code_ex.svg @ 1395:a768d74e5f49
Fix the svg:use. For a svg:use, it is a group which include the content it reference. It means that we can not tween it to its origin object directly. Instead, we need to ungroup it and then use the result matrix to generate the tweened transformation matrix. Therefore, we need to concate its matrix to the referenced object.
Ad center object when the bbox-x is not available.
author | wycc |
---|---|
date | Sat, 02 Apr 2011 05:36:36 +0800 |
parents | eca737d33a18 |
children |
line wrap: on
line source
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <!-- Created with Inkscape (http://www.inkscape.org/) --> <svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="800" height="600" id="svg2" sodipodi:version="0.32" inkscape:version="0.47 r22583" version="1.0" sodipodi:docname="svg2code_ex.svg" inkscape:output_extension="org.inkscape.output.svg.inkscape"> <defs id="defs4"> <inkscape:perspective sodipodi:type="inkscape:persp3d" inkscape:vp_x="0 : 300 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_z="800 : 300 : 1" inkscape:persp3d-origin="400 : 200 : 1" id="perspective78" /> <linearGradient inkscape:collect="always" id="linearGradient8083"> <stop style="stop-color:#cccccc;stop-opacity:1;" offset="0" id="stop8085" /> <stop style="stop-color:#cccccc;stop-opacity:0;" offset="1" id="stop8087" /> </linearGradient> <linearGradient id="linearGradient6117"> <stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop6119" /> <stop id="stop6125" offset="0.5" style="stop-color:#ffffff;stop-opacity:0.49803922;" /> <stop style="stop-color:#000000;stop-opacity:1;" offset="1" id="stop6121" /> </linearGradient> <linearGradient inkscape:collect="always" id="linearGradient5134"> <stop style="stop-color:#cccccc;stop-opacity:1;" offset="0" id="stop5136" /> <stop style="stop-color:#cccccc;stop-opacity:0;" offset="1" id="stop5138" /> </linearGradient> <linearGradient inkscape:collect="always" id="linearGradient4145"> <stop style="stop-color:#000080;stop-opacity:1;" offset="0" id="stop4147" /> <stop style="stop-color:#000080;stop-opacity:0;" offset="1" id="stop4149" /> </linearGradient> <linearGradient inkscape:collect="always" id="linearGradient3159"> <stop style="stop-color:#008080;stop-opacity:1;" offset="0" id="stop3161" /> <stop style="stop-color:#ff0000;stop-opacity:0" offset="1" id="stop3163" /> </linearGradient> <linearGradient id="linearGradient3144"> <stop style="stop-color:#008080;stop-opacity:1;" offset="0" id="stop3146" /> <stop style="stop-color:#008080;stop-opacity:0;" offset="1" id="stop3148" /> </linearGradient> <radialGradient inkscape:collect="always" xlink:href="#linearGradient4145" id="radialGradient4155" cx="83.905014" cy="255.65866" fx="83.905014" fy="255.65866" r="401.02771" gradientTransform="matrix(2.0681686,-5.0176873e-2,4.6726569e-3,0.1926051,-90.819306,-13.368811)" gradientUnits="userSpaceOnUse" /> <linearGradient inkscape:collect="always" xlink:href="#linearGradient5134" id="linearGradient5140" x1="50.65963" y1="41.16095" x2="742.48022" y2="571.50397" gradientUnits="userSpaceOnUse" /> <linearGradient inkscape:collect="always" xlink:href="#linearGradient6117" id="linearGradient6123" x1="18.997362" y1="487.59894" x2="448.02112" y2="489.9736" gradientUnits="userSpaceOnUse" /> <radialGradient inkscape:collect="always" xlink:href="#linearGradient8083" id="radialGradient8096" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.236919,0.5928997,-1,0.3995932,59.892325,-14.421107)" cx="45.995758" cy="11.422832" fx="45.995758" fy="11.422832" r="40.869397" /> <linearGradient gradientUnits="userSpaceOnUse" y2="12.676396" x2="55.889248" y1="2.136826" x1="52.79644" id="linearGradient3182" xlink:href="#linearGradient3176" inkscape:collect="always" /> <linearGradient id="linearGradient3134"> <stop id="stop3136" offset="0" style="stop-color: rgb(0, 0, 0); stop-opacity: 0.824742;" /> <stop style="stop-color: rgb(0, 0, 0); stop-opacity: 0.701031;" offset="0.85000002" id="stop3142" /> <stop id="stop3138" offset="1" style="stop-color: rgb(0, 0, 0); stop-opacity: 0;" /> </linearGradient> <linearGradient id="linearGradient3152"> <stop id="stop3154" offset="0" style="stop-color: rgb(36, 28, 28); stop-opacity: 1;" /> <stop style="stop-color: rgb(36, 28, 28); stop-opacity: 0.498039;" offset="0.2" id="stop3160" /> <stop id="stop3156" offset="1" style="stop-color: rgb(36, 28, 28); stop-opacity: 0;" /> </linearGradient> <linearGradient id="linearGradient3176"> <stop id="stop3178" offset="0" style="stop-color: rgb(255, 255, 255); stop-opacity: 0.639175;" /> <stop style="stop-color: rgb(255, 255, 255); stop-opacity: 0.360825;" offset="0.5" id="stop3184" /> <stop id="stop3180" offset="1" style="stop-color: rgb(255, 255, 255); stop-opacity: 0;" /> </linearGradient> <linearGradient inkscape:collect="always" xlink:href="#linearGradient3144" id="linearGradient5594" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.9927147,0,0,1.0000194,-53.319638,5.618433)" x1="159.49503" y1="110.41852" x2="267.54617" y2="218.46967" /> <linearGradient gradientUnits="userSpaceOnUse" y2="12.676396" x2="55.889248" y1="2.136826" x1="52.79644" id="linearGradient7666" xlink:href="#linearGradient3176" inkscape:collect="always" /> <linearGradient gradientTransform="translate(5.36638,-15.1156)" gradientUnits="userSpaceOnUse" y2="93.248642" x2="-13.589547" y1="93.306656" x1="0.13318375" id="linearGradient3158" xlink:href="#linearGradient3152" inkscape:collect="always" /> <linearGradient gradientTransform="translate(-10.0264,-11.6095)" gradientUnits="userSpaceOnUse" y2="63.060684" x2="36.675465" y1="39.577835" x1="56.992085" id="linearGradient3140" xlink:href="#linearGradient3134" inkscape:collect="always" /> <linearGradient id="linearGradient7656"> <stop id="stop7658" offset="0" style="stop-color: rgb(0, 0, 0); stop-opacity: 0.824742;" /> <stop style="stop-color: rgb(0, 0, 0); stop-opacity: 0.701031;" offset="0.85000002" id="stop7660" /> <stop id="stop7662" offset="1" style="stop-color: rgb(0, 0, 0); stop-opacity: 0;" /> </linearGradient> <linearGradient id="linearGradient7648"> <stop id="stop7650" offset="0" style="stop-color: rgb(36, 28, 28); stop-opacity: 1;" /> <stop style="stop-color: rgb(36, 28, 28); stop-opacity: 0.498039;" offset="0.2" id="stop7652" /> <stop id="stop7654" offset="1" style="stop-color: rgb(36, 28, 28); stop-opacity: 0;" /> </linearGradient> <linearGradient id="linearGradient7640"> <stop id="stop7642" offset="0" style="stop-color: rgb(255, 255, 255); stop-opacity: 0.639175;" /> <stop style="stop-color: rgb(255, 255, 255); stop-opacity: 0.360825;" offset="0.5" id="stop7644" /> <stop id="stop7646" offset="1" style="stop-color: rgb(255, 255, 255); stop-opacity: 0;" /> </linearGradient> <linearGradient inkscape:collect="always" xlink:href="#linearGradient3176" id="linearGradient7674" gradientUnits="userSpaceOnUse" x1="52.79644" y1="2.136826" x2="55.889248" y2="12.676396" /> <linearGradient inkscape:collect="always" xlink:href="#linearGradient3144" id="linearGradient7683" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.9927147,0,0,1.0000194,-53.319638,5.618433)" x1="159.49503" y1="110.41852" x2="267.54617" y2="218.46967" /> <radialGradient inkscape:collect="always" xlink:href="#linearGradient3159" id="radialGradient7686" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.7385522,1.1185618,-1.3167274,0.9528579,184.76711,-179.07844)" cx="175.7256" cy="143.89952" fx="175.7256" fy="143.89952" r="125.56596" /> </defs> <sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" gridtolerance="10000" guidetolerance="10" objecttolerance="10" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="0.63166667" inkscape:cx="400" inkscape:cy="239.42842" inkscape:document-units="px" inkscape:current-layer="layer1" width="800px" height="600px" showgrid="true" inkscape:window-width="822" inkscape:window-height="721" inkscape:window-x="130" inkscape:window-y="120" inkscape:window-maximized="0" /> <metadata id="metadata7"> <rdf:RDF> <cc:Work rdf:about=""> <dc:format>image/svg+xml</dc:format> <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> </cc:Work> </rdf:RDF> </metadata> <g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" style="display:inline"><rect style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:4" id="rect2885" width="804.22162" height="606.33246" x="-1.5831134" y="-1.5831103" inkscape:transform-center-x="0" inkscape:transform-center-y="0" inkscape:bbox-x="-3.5831134" inkscape:bbox-y="-6.7493482" inkscape:bbox-width="808.22162" inkscape:bbox-height="610.33246" /> <rect style="opacity:1;fill:url(#linearGradient5140);fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:none" id="rect5132" width="802.63855" height="601.58313" x="0" y="0" /> <rect style="opacity:0.5;fill:url(#radialGradient4155);fill-opacity:1.0;stroke:#000000;stroke-width:0.81232697;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" id="rect3174" width="801.2431" height="39.687672" x="-0.093836516" y="-0.093836516" /> <rect style="opacity:1;fill:#f9f9f9;fill-opacity:1;stroke:#000000;stroke-width:1.2880522;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" id="rect5128" width="458.71194" height="418.71198" x="20.644026" y="60.644024" rx="4.0216751" ry="5.0559778" /> <rect style="opacity:1;fill:#f9f9f9;fill-opacity:1;stroke:#000000;stroke-width:0.93608844;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" id="rect5130" width="259.5639" height="419.56393" x="519.96802" y="59.96804" rx="5.0424933" /> <rect style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.97354287;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" id="rect5144" width="459.52646" height="79.526451" x="19.986771" y="499.98679" /> <path style="fill:#00ffff;fill-rule:evenodd;stroke:url(#linearGradient6123);stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none;fill-opacity:1.0" d="M 20.580475,489.18206 L 471.76781,490.76517" id="path5146" /> <g id="file_button" transform="translate(6.3324538,1.5831135)"> <rect ry="3.0364513" rx="1.1221098" y="1.3907586" x="18.805006" height="32.046982" width="81.123505" id="rect6129" style="opacity:0.9;fill:url(#radialGradient8096);fill-opacity:1;stroke:#000000;stroke-width:0.61528957;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> <text id="text8071" y="22.163589" x="44.327179" style="font-size:16px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans Mono" xml:space="preserve"><tspan y="22.163589" x="44.327179" id="tspan8073" sodipodi:role="line">檔案</tspan></text> </g> <g id="file_menu" display="none" style="display:none"> <rect y="41.991447" x="20.458471" height="237.55008" width="232.80074" id="rect3157" style="opacity:0.5;fill:url(#radialGradient7686);fill-opacity:1;stroke:#000000;stroke-width:0.91694379;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> <rect y="46.864952" x="26.915098" height="219.88747" width="215.13812" id="rect2160" style="opacity:0.5;fill:url(#linearGradient7683);fill-opacity:1;stroke:#000000;stroke-width:1.16530466;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> <text sodipodi:linespacing="125%" style="font-size:16px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-opacity:1;font-family:Bitstream Vera Sans" id="text3134" y="86.360161" x="52.16227" xml:space="preserve"><tspan y="86.360161" x="52.16227" id="tspan3136" sodipodi:role="line">test</tspan><tspan id="tspan3138" y="118.32115" x="52.16227" sodipodi:role="line" style="font-size:28px">test</tspan></text> </g> <path sodipodi:type="arc" style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:2.39700007;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" id="path2451" sodipodi:cx="648.28497" sodipodi:cy="541.4248" sodipodi:rx="98.944588" sodipodi:ry="37.994728" d="M 723.62808,516.79651 A 98.944588,37.994728 0 1 1 549.36227,542.22385" sodipodi:start="5.5779634" sodipodi:end="9.4037459" sodipodi:open="true" /> <image sodipodi:absref="/usr/home/thinker/progm/MadButterfly/examples/svg2code_ex/dsc_3241.png" xlink:href="dsc_3241.png" width="100" height="130.90765" id="image2497" x="605.409" y="87.316605" /> transform="translate(0,-17.414248)" /> </g> </svg>