added jitter gradients extension

This commit is contained in:
Mario Voigt 2021-04-25 23:14:03 +02:00
parent c8f300eae0
commit 06e5d0cad3
4 changed files with 595 additions and 0 deletions

View File

@ -0,0 +1,18 @@
<html>
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Animate Order - joinery_2021-4-25_1.24.3.svg</title>
<meta name="description" content="SVG Drawing Animation">
</head>
<body>
<button onclick="vi.reset().play();">replay</button>
<br/>
<object id="animate_order" type="image/svg+xml" data="drawing.svg"></object>
<script src="./vivus-0.4.6/dist/vivus.js"></script>
<script>
var vi = new Vivus('animate_order', {type: 'oneByOne', duration:1200.0, reverseStack:false});
</script>
</body>
</html>

View File

@ -0,0 +1,494 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
version="1.1"
width="96.550346mm"
height="91.824226mm"
viewBox="0 0 96.550345 91.824227"
id="svg274"
sodipodi:docname="joinery_2021-4-25_1.24.3.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs278" />
<sodipodi:namedview
id="namedview276"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
objecttolerance="10.0"
gridtolerance="10.0"
guidetolerance="10.0"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="0.93602498"
inkscape:cx="6.9442591"
inkscape:cy="277.23619"
inkscape:window-width="1920"
inkscape:window-height="964"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1"
inkscape:current-layer="shape" />
<g
id="g272"
transform="translate(-973.35126,-374.04121)">
<g
fill="none"
stroke="none"
stroke-width="none"
stroke-linecap="none"
stroke-linejoin="miter"
stroke-miterlimit="none"
stroke-dasharray="none"
stroke-dashoffset="0"
font-family="none"
font-weight="none"
font-size="12px"
text-anchor="start"
mix-blend-mode="normal"
id="g270">
<g
stroke-opacity="0"
stroke="#000000"
stroke-width="1"
stroke-linecap="butt"
stroke-miterlimit="10"
font-family="sans-serif"
font-weight="normal"
id="g2" />
<g
stroke-width="1"
stroke-linecap="butt"
stroke-miterlimit="10"
font-family="sans-serif"
font-weight="normal"
id="g4" />
<g
stroke-width="1"
stroke-linecap="butt"
stroke-miterlimit="10"
font-family="sans-serif"
font-weight="normal"
id="g6" />
<g
stroke-width="1"
stroke-linecap="butt"
stroke-miterlimit="10"
font-family="sans-serif"
font-weight="normal"
id="g8" />
<g
stroke="#00aaff"
stroke-width="2"
stroke-linecap="butt"
stroke-miterlimit="10"
font-family="sans-serif"
font-weight="normal"
id="g10" />
<g
stroke-width="1"
stroke-linecap="butt"
stroke-miterlimit="10"
font-family="sans-serif"
font-weight="normal"
id="g12" />
<g
id="shape"
stroke-width="1"
stroke-linecap="round">
<path
d="m 1021.6264,380.69814 -40.49996,29.425"
id="joint"
font-family="Roboto, sans-serif"
font-weight="400"
style="fill:none;stroke:#ff0000;stroke-width:0.2646;stroke-opacity:1" />
<path
d="m 996.59544,457.73314 -15.469,-47.61"
id="path15"
font-family="Roboto, sans-serif"
font-weight="400"
style="fill:none;stroke:#ff0000;stroke-width:0.2646;stroke-opacity:1" />
<path
d="m 996.59544,457.73314 h 50.06096"
id="path17"
font-family="Roboto, sans-serif"
font-weight="400"
style="fill:none;stroke:#ff0000;stroke-width:0.2646;stroke-opacity:1" />
<path
d="m 1046.6564,457.73314 15.47,-47.61"
id="path19"
font-family="Roboto, sans-serif"
font-weight="400"
style="fill:none;stroke:#ff0000;stroke-width:0.2646;stroke-opacity:1" />
<path
d="m 1062.1264,410.12314 -40.5,-29.425"
id="path21"
font-family="Roboto, sans-serif"
font-weight="400"
style="fill:none;stroke:#ff0000;stroke-width:0.2646;stroke-opacity:1" />
<g
id="3_joint">
<g
id="g56"
fill="none"
stroke="#00ffff"
stroke-miterlimit="4"
font-family="Roboto, sans-serif"
font-weight="400">
<path
d="m 1046.6564,457.73314 15.47,-47.61"
id="path54"
style="fill:none;stroke:#000000;stroke-width:0.2646;stroke-opacity:1" />
</g>
<path
d="m 1046.6564,457.73314 7.6085,2.47222 c 1.0313,-3.174 2.0626,-6.348 3.094,-9.522 1.0313,-3.174 2.0626,-6.348 3.094,-9.522 1.0313,-3.174 2.0626,-6.348 3.094,-9.522 1.0313,-3.174 2.0626,-6.348 3.094,-9.522 1.0313,-3.174 2.0626,-6.348 3.094,-9.522 l -7.6085,-2.47222"
font-family="sans-serif"
font-weight="normal"
id="path58"
style="fill:none;stroke:#0000ff;stroke-width:0.2646;stroke-opacity:1" />
<path
d="m 1046.9233,454.75751 c 0,-0.3866 0.3134,-0.7 0.7,-0.7 0.3866,0 0.7,0.3134 0.7,0.7 0,0.3866 -0.3134,0.7 -0.7,0.7 -0.3866,0 -0.7,-0.3134 -0.7,-0.7 z"
font-family="sans-serif"
font-weight="normal"
id="path60"
style="fill:none;stroke:#0000ff;stroke-width:0.2646;stroke-opacity:1" />
<path
d="m 1048.8571,448.80626 c 0,-0.3866 0.3134,-0.7 0.7,-0.7 0.3866,0 0.7,0.3134 0.7,0.7 0,0.3866 -0.3134,0.7 -0.7,0.7 -0.3866,0 -0.7,-0.3134 -0.7,-0.7 z"
font-family="sans-serif"
font-weight="normal"
id="path62"
style="fill:none;stroke:#0000ff;stroke-width:0.2646;stroke-opacity:1" />
<path
d="m 1050.7908,442.85501 c 0,-0.3866 0.3134,-0.7 0.7,-0.7 0.3866,0 0.7,0.3134 0.7,0.7 0,0.3866 -0.3134,0.7 -0.7,0.7 -0.3866,0 -0.7,-0.3134 -0.7,-0.7 z"
font-family="sans-serif"
font-weight="normal"
id="path64"
style="fill:none;stroke:#0000ff;stroke-width:0.2646;stroke-opacity:1" />
<path
d="m 1052.7246,436.90376 c 0,-0.3866 0.3134,-0.7 0.7,-0.7 0.3866,0 0.7,0.3134 0.7,0.7 0,0.3866 -0.3134,0.7 -0.7,0.7 -0.3866,0 -0.7,-0.3134 -0.7,-0.7 z"
font-family="sans-serif"
font-weight="normal"
id="path66"
style="fill:none;stroke:#0000ff;stroke-width:0.2646;stroke-opacity:1" />
<path
d="m 1054.6583,430.95251 c 0,-0.3866 0.3134,-0.7 0.7,-0.7 0.3866,0 0.7,0.3134 0.7,0.7 0,0.3866 -0.3134,0.7 -0.7,0.7 -0.3866,0 -0.7,-0.3134 -0.7,-0.7 z"
font-family="sans-serif"
font-weight="normal"
id="path68"
style="fill:none;stroke:#0000ff;stroke-width:0.2646;stroke-opacity:1" />
<path
d="m 1056.5921,425.00126 c 0,-0.3866 0.3134,-0.7 0.7,-0.7 0.3866,0 0.7,0.3134 0.7,0.7 0,0.3866 -0.3134,0.7 -0.7,0.7 -0.3866,0 -0.7,-0.3134 -0.7,-0.7 z"
font-family="sans-serif"
font-weight="normal"
id="path70"
style="fill:none;stroke:#0000ff;stroke-width:0.2646;stroke-opacity:1" />
<path
d="m 1058.5258,419.05001 c 0,-0.3866 0.3134,-0.7 0.7,-0.7 0.3866,0 0.7,0.3134 0.7,0.7 0,0.3866 -0.3134,0.7 -0.7,0.7 -0.3866,0 -0.7,-0.3134 -0.7,-0.7 z"
font-family="sans-serif"
font-weight="normal"
id="path72"
style="fill:none;stroke:#0000ff;stroke-width:0.2646;stroke-opacity:1" />
<path
d="m 1060.4596,413.09876 c 0,-0.3866 0.3134,-0.7 0.7,-0.7 0.3866,0 0.7,0.3134 0.7,0.7 0,0.3866 -0.3134,0.7 -0.7,0.7 -0.3866,0 -0.7,-0.3134 -0.7,-0.7 z"
font-family="sans-serif"
font-weight="normal"
id="path74"
style="fill:none;stroke:#0000ff;stroke-width:0.2646;stroke-opacity:1" />
</g>
<g
id="4_joint">
<g
id="g102"
fill="none"
stroke="#00ffff"
stroke-miterlimit="4"
font-family="Roboto, sans-serif"
font-weight="400">
<path
d="m 1062.1264,410.12314 -40.5,-29.425"
id="path100"
style="fill:none;stroke:#000000;stroke-width:0.2646;stroke-opacity:1" />
</g>
<path
d="m 1062.1264,410.12314 4.7023,-6.47213 c -2.7,-1.96167 -5.4,-3.92333 -8.1,-5.885 -2.7,-1.96167 -5.4,-3.92333 -8.1,-5.885 -2.7,-1.96167 -5.4,-3.92333 -8.1,-5.885 -2.7,-1.96167 -5.4,-3.92333 -8.1,-5.885 -2.7,-1.96167 -5.4,-3.92333 -8.1,-5.885 l -4.7023,6.47213"
font-family="sans-serif"
font-weight="normal"
id="path104"
style="fill:none;stroke:#0000ff;stroke-width:0.2646;stroke-opacity:1" />
<path
d="m 1058.8952,408.28408 c 0,-0.3866 0.3134,-0.7 0.7,-0.7 0.3866,0 0.7,0.3134 0.7,0.7 0,0.3866 -0.3134,0.7 -0.7,0.7 -0.3866,0 -0.7,-0.3134 -0.7,-0.7 z"
font-family="sans-serif"
font-weight="normal"
id="path106"
style="fill:none;stroke:#0000ff;stroke-width:0.2646;stroke-opacity:1" />
<path
d="m 1053.8327,404.60595 c 0,-0.3866 0.3134,-0.7 0.7,-0.7 0.3866,0 0.7,0.3134 0.7,0.7 0,0.3866 -0.3134,0.7 -0.7,0.7 -0.3866,0 -0.7,-0.3134 -0.7,-0.7 z"
font-family="sans-serif"
font-weight="normal"
id="path108"
style="fill:none;stroke:#0000ff;stroke-width:0.2646;stroke-opacity:1" />
<path
d="m 1048.7702,400.92782 c 0,-0.3866 0.3134,-0.7 0.7,-0.7 0.3866,0 0.7,0.3134 0.7,0.7 0,0.3866 -0.3134,0.7 -0.7,0.7 -0.3866,0 -0.7,-0.3134 -0.7,-0.7 z"
font-family="sans-serif"
font-weight="normal"
id="path110"
style="fill:none;stroke:#0000ff;stroke-width:0.2646;stroke-opacity:1" />
<path
d="m 1043.7077,397.2497 c 0,-0.3866 0.3134,-0.7 0.7,-0.7 0.3866,0 0.7,0.3134 0.7,0.7 0,0.3866 -0.3134,0.7 -0.7,0.7 -0.3866,0 -0.7,-0.3134 -0.7,-0.7 z"
font-family="sans-serif"
font-weight="normal"
id="path112"
style="fill:none;stroke:#0000ff;stroke-width:0.2646;stroke-opacity:1" />
<path
d="m 1038.6452,393.57157 c 0,-0.3866 0.3134,-0.7 0.7,-0.7 0.3866,0 0.7,0.3134 0.7,0.7 0,0.3866 -0.3134,0.7 -0.7,0.7 -0.3866,0 -0.7,-0.3134 -0.7,-0.7 z"
font-family="sans-serif"
font-weight="normal"
id="path114"
style="fill:none;stroke:#0000ff;stroke-width:0.2646;stroke-opacity:1" />
<path
d="m 1033.5827,389.89345 c 0,-0.3866 0.3134,-0.7 0.7,-0.7 0.3866,0 0.7,0.3134 0.7,0.7 0,0.3866 -0.3134,0.7 -0.7,0.7 -0.3866,0 -0.7,-0.3134 -0.7,-0.7 z"
font-family="sans-serif"
font-weight="normal"
id="path116"
style="fill:none;stroke:#0000ff;stroke-width:0.2646;stroke-opacity:1" />
<path
d="m 1028.5202,386.21532 c 0,-0.3866 0.3134,-0.7 0.7,-0.7 0.3866,0 0.7,0.3134 0.7,0.7 0,0.3866 -0.3134,0.7 -0.7,0.7 -0.3866,0 -0.7,-0.3134 -0.7,-0.7 z"
font-family="sans-serif"
font-weight="normal"
id="path118"
style="fill:none;stroke:#0000ff;stroke-width:0.2646;stroke-opacity:1" />
<path
d="m 1023.4577,382.5372 c 0,-0.3866 0.3134,-0.7 0.7,-0.7 0.3866,0 0.7,0.3134 0.7,0.7 0,0.3866 -0.3134,0.7 -0.7,0.7 -0.3866,0 -0.7,-0.3134 -0.7,-0.7 z"
font-family="sans-serif"
font-weight="normal"
id="path120"
style="fill:none;stroke:#0000ff;stroke-width:0.2646;stroke-opacity:1" />
</g>
<g
id="2_joint">
<g
id="g148"
fill="none"
stroke="#00ffff"
stroke-miterlimit="4"
font-family="Roboto, sans-serif"
font-weight="400">
<path
d="m 996.59544,457.73314 h 50.06096"
id="path146"
style="fill:none;stroke:#000000;stroke-width:0.2646;stroke-opacity:1" />
</g>
<path
d="m 996.59544,457.73314 v 8 c 3.3374,0 6.67476,0 10.01216,0 3.3374,0 6.6748,0 10.0122,0 3.3374,0 6.6748,0 10.0122,0 3.3374,0 6.6748,0 10.0122,0 3.3374,0 6.6748,0 10.0122,0 v -8"
font-family="sans-serif"
font-weight="normal"
id="path150"
style="fill:none;stroke:#0000ff;stroke-width:0.2646;stroke-opacity:1" />
<path
d="m 999.02425,457.73314 c 0,-0.3866 0.3134,-0.7 0.7,-0.7 0.38665,0 0.70005,0.3134 0.70005,0.7 0,0.3866 -0.3134,0.7 -0.70005,0.7 -0.3866,0 -0.7,-0.3134 -0.7,-0.7 z"
font-family="sans-serif"
font-weight="normal"
id="path152"
style="fill:none;stroke:#0000ff;stroke-width:0.2646;stroke-opacity:1" />
<path
d="m 1005.2819,457.73314 c 0,-0.3866 0.3134,-0.7 0.7,-0.7 0.3866,0 0.7,0.3134 0.7,0.7 0,0.3866 -0.3134,0.7 -0.7,0.7 -0.3866,0 -0.7,-0.3134 -0.7,-0.7 z"
font-family="sans-serif"
font-weight="normal"
id="path154"
style="fill:none;stroke:#0000ff;stroke-width:0.2646;stroke-opacity:1" />
<path
d="m 1011.5395,457.73314 c 0,-0.3866 0.3134,-0.7 0.7,-0.7 0.3866,0 0.7,0.3134 0.7,0.7 0,0.3866 -0.3134,0.7 -0.7,0.7 -0.3866,0 -0.7,-0.3134 -0.7,-0.7 z"
font-family="sans-serif"
font-weight="normal"
id="path156"
style="fill:none;stroke:#0000ff;stroke-width:0.2646;stroke-opacity:1" />
<path
d="m 1017.7971,457.73314 c 0,-0.3866 0.3134,-0.7 0.7,-0.7 0.3866,0 0.7,0.3134 0.7,0.7 0,0.3866 -0.3134,0.7 -0.7,0.7 -0.3866,0 -0.7,-0.3134 -0.7,-0.7 z"
font-family="sans-serif"
font-weight="normal"
id="path158"
style="fill:none;stroke:#0000ff;stroke-width:0.2646;stroke-opacity:1" />
<path
d="m 1024.0548,457.73314 c 0,-0.3866 0.3134,-0.7 0.7,-0.7 0.3866,0 0.7,0.3134 0.7,0.7 0,0.3866 -0.3134,0.7 -0.7,0.7 -0.3866,0 -0.7,-0.3134 -0.7,-0.7 z"
font-family="sans-serif"
font-weight="normal"
id="path160"
style="fill:none;stroke:#0000ff;stroke-width:0.2646;stroke-opacity:1" />
<path
d="m 1030.3124,457.73314 c 0,-0.3866 0.3134,-0.7 0.7,-0.7 0.3866,0 0.7,0.3134 0.7,0.7 0,0.3866 -0.3134,0.7 -0.7,0.7 -0.3866,0 -0.7,-0.3134 -0.7,-0.7 z"
font-family="sans-serif"
font-weight="normal"
id="path162"
style="fill:none;stroke:#0000ff;stroke-width:0.2646;stroke-opacity:1" />
<path
d="m 1036.57,457.73314 c 0,-0.3866 0.3134,-0.7 0.7,-0.7 0.3866,0 0.7,0.3134 0.7,0.7 0,0.3866 -0.3134,0.7 -0.7,0.7 -0.3866,0 -0.7,-0.3134 -0.7,-0.7 z"
font-family="sans-serif"
font-weight="normal"
id="path164"
style="fill:none;stroke:#0000ff;stroke-width:0.2646;stroke-opacity:1" />
<path
d="m 1042.8276,457.73314 c 0,-0.3866 0.3134,-0.7 0.7,-0.7 0.3866,0 0.7,0.3134 0.7,0.7 0,0.3866 -0.3134,0.7 -0.7,0.7 -0.3866,0 -0.7,-0.3134 -0.7,-0.7 z"
font-family="sans-serif"
font-weight="normal"
id="path166"
style="fill:none;stroke:#0000ff;stroke-width:0.2646;stroke-opacity:1" />
</g>
<g
id="0_joint">
<g
id="g171"
fill="none"
stroke="#00ffff"
stroke-miterlimit="4"
font-family="Roboto, sans-serif"
font-weight="400">
<path
d="m 1021.6264,380.69814 -40.49996,29.425"
id="path169"
style="fill:none;stroke:#000000;stroke-width:0.2646;stroke-opacity:1" />
</g>
<path
d="m 1021.6264,380.69814 -4.7022,-6.47213 c -2.7001,1.96167 -5.4,3.92333 -8.1,5.885 -2.7001,1.96167 -5.4,3.92333 -8.1001,5.885 -2.69995,1.96167 -5.39995,3.92333 -8.09995,5.885 -2.7,1.96167 -5.4,3.92333 -8.1,5.885 -2.7,1.96167 -5.4,3.92333 -8.1,5.885 l 4.70229,6.47213"
font-family="sans-serif"
font-weight="normal"
id="path173"
style="fill:none;stroke:#0000ff;stroke-width:0.2646;stroke-opacity:1" />
<path
d="m 1018.3952,382.5372 c 0,-0.3866 0.3134,-0.7 0.7,-0.7 0.3866,0 0.7,0.3134 0.7,0.7 0,0.3866 -0.3134,0.7 -0.7,0.7 -0.3866,0 -0.7,-0.3134 -0.7,-0.7 z"
font-family="sans-serif"
font-weight="normal"
id="path175"
style="fill:none;stroke:#0000ff;stroke-width:0.2646;stroke-opacity:1" />
<path
d="m 1013.3327,386.21532 c 0,-0.3866 0.3134,-0.7 0.7,-0.7 0.3866,0 0.7,0.3134 0.7,0.7 0,0.3866 -0.3134,0.7 -0.7,0.7 -0.3866,0 -0.7,-0.3134 -0.7,-0.7 z"
font-family="sans-serif"
font-weight="normal"
id="path177"
style="fill:none;stroke:#0000ff;stroke-width:0.2646;stroke-opacity:1" />
<path
d="m 1008.2702,389.89345 c 0,-0.3866 0.3134,-0.7 0.7,-0.7 0.3866,0 0.7,0.3134 0.7,0.7 0,0.3866 -0.3134,0.7 -0.7,0.7 -0.3866,0 -0.7,-0.3134 -0.7,-0.7 z"
font-family="sans-serif"
font-weight="normal"
id="path179"
style="fill:none;stroke:#0000ff;stroke-width:0.2646;stroke-opacity:1" />
<path
d="m 1003.2077,393.57157 c 0,-0.3866 0.3134,-0.7 0.7,-0.7 0.3866,0 0.7,0.3134 0.7,0.7 0,0.3866 -0.3134,0.7 -0.7,0.7 -0.3866,0 -0.7,-0.3134 -0.7,-0.7 z"
font-family="sans-serif"
font-weight="normal"
id="path181"
style="fill:none;stroke:#0000ff;stroke-width:0.2646;stroke-opacity:1" />
<path
d="m 998.14519,397.2497 c 0,-0.3866 0.3134,-0.7 0.7,-0.7 0.3866,0 0.7,0.3134 0.7,0.7 0,0.3866 -0.3134,0.7 -0.7,0.7 -0.3866,0 -0.7,-0.3134 -0.7,-0.7 z"
font-family="sans-serif"
font-weight="normal"
id="path183"
style="fill:none;stroke:#0000ff;stroke-width:0.2646;stroke-opacity:1" />
<path
d="m 993.08269,400.92782 c 0,-0.3866 0.3134,-0.7 0.7,-0.7 0.3866,0 0.7,0.3134 0.7,0.7 0,0.3866 -0.3134,0.7 -0.7,0.7 -0.3866,0 -0.7,-0.3134 -0.7,-0.7 z"
font-family="sans-serif"
font-weight="normal"
id="path185"
style="fill:none;stroke:#0000ff;stroke-width:0.2646;stroke-opacity:1" />
<path
d="m 988.02019,404.60595 c 0,-0.3866 0.3134,-0.7 0.7,-0.7 0.3866,0 0.7,0.3134 0.7,0.7 0,0.3866 -0.3134,0.7 -0.7,0.7 -0.3866,0 -0.7,-0.3134 -0.7,-0.7 z"
font-family="sans-serif"
font-weight="normal"
id="path187"
style="fill:none;stroke:#0000ff;stroke-width:0.2646;stroke-opacity:1" />
<path
d="m 982.95769,408.28408 c 0,-0.3866 0.3134,-0.7 0.7,-0.7 0.3866,0 0.7,0.3134 0.7,0.7 0,0.3866 -0.3134,0.7 -0.7,0.7 -0.3866,0 -0.7,-0.3134 -0.7,-0.7 z"
font-family="sans-serif"
font-weight="normal"
id="path189"
style="fill:none;stroke:#0000ff;stroke-width:0.2646;stroke-opacity:1" />
</g>
<g
id="1_joint">
<g
id="g240"
fill="none"
stroke="#00ffff"
stroke-miterlimit="4"
font-family="Roboto, sans-serif"
font-weight="400">
<path
d="m 996.59544,457.73314 -15.469,-47.61"
id="path238"
style="fill:none;stroke:#000000;stroke-width:0.2646;stroke-opacity:1" />
</g>
<path
d="m 996.59544,457.73314 -7.60847,2.47207 c -1.03127,-3.174 -2.06253,-6.348 -3.0938,-9.522 -1.03127,-3.174 -2.06253,-6.348 -3.0938,-9.522 -1.03127,-3.174 -2.06253,-6.348 -3.0938,-9.522 -1.03127,-3.174 -2.06253,-6.348 -3.0938,-9.522 -1.03127,-3.174 -2.06253,-6.348 -3.0938,-9.522 l 7.60847,-2.47207"
font-family="sans-serif"
font-weight="normal"
id="path242"
style="fill:none;stroke:#0000ff;stroke-width:0.2646;stroke-opacity:1" />
<path
d="m 994.92863,454.75751 c 0,-0.3866 0.3134,-0.7 0.7,-0.7 0.3866,0 0.7,0.3134 0.7,0.7 0,0.3866 -0.3134,0.7 -0.7,0.7 -0.3866,0 -0.7,-0.3134 -0.7,-0.7 z"
font-family="sans-serif"
font-weight="normal"
id="path244"
style="fill:none;stroke:#0000ff;stroke-width:0.2646;stroke-opacity:1" />
<path
d="m 992.995,448.80626 c 0,-0.3866 0.3134,-0.7 0.7,-0.7 0.3866,0 0.7,0.3134 0.7,0.7 0,0.3866 -0.3134,0.7 -0.7,0.7 -0.3866,0 -0.7,-0.3134 -0.7,-0.7 z"
font-family="sans-serif"
font-weight="normal"
id="path246"
style="fill:none;stroke:#0000ff;stroke-width:0.2646;stroke-opacity:1" />
<path
d="m 991.06138,442.85501 c 0,-0.3866 0.3134,-0.7 0.7,-0.7 0.3866,0 0.7,0.3134 0.7,0.7 0,0.3866 -0.3134,0.7 -0.7,0.7 -0.3866,0 -0.7,-0.3134 -0.7,-0.7 z"
font-family="sans-serif"
font-weight="normal"
id="path248"
style="fill:none;stroke:#0000ff;stroke-width:0.2646;stroke-opacity:1" />
<path
d="m 989.12775,436.90376 c 0,-0.3866 0.3134,-0.7 0.7,-0.7 0.3866,0 0.7,0.3134 0.7,0.7 0,0.3866 -0.3134,0.7 -0.7,0.7 -0.3866,0 -0.7,-0.3134 -0.7,-0.7 z"
font-family="sans-serif"
font-weight="normal"
id="path250"
style="fill:none;stroke:#0000ff;stroke-width:0.2646;stroke-opacity:1" />
<path
d="m 987.19413,430.95251 c 0,-0.3866 0.3134,-0.7 0.7,-0.7 0.3866,0 0.7,0.3134 0.7,0.7 0,0.3866 -0.3134,0.7 -0.7,0.7 -0.3866,0 -0.7,-0.3134 -0.7,-0.7 z"
font-family="sans-serif"
font-weight="normal"
id="path252"
style="fill:none;stroke:#0000ff;stroke-width:0.2646;stroke-opacity:1" />
<path
d="m 985.2605,425.00126 c 0,-0.3866 0.3134,-0.7 0.7,-0.7 0.3866,0 0.7,0.3134 0.7,0.7 0,0.3866 -0.3134,0.7 -0.7,0.7 -0.3866,0 -0.7,-0.3134 -0.7,-0.7 z"
font-family="sans-serif"
font-weight="normal"
id="path254"
style="fill:none;stroke:#0000ff;stroke-width:0.2646;stroke-opacity:1" />
<path
d="m 983.32688,419.05001 c 0,-0.3866 0.3134,-0.7 0.7,-0.7 0.3866,0 0.7,0.3134 0.7,0.7 0,0.3866 -0.3134,0.7 -0.7,0.7 -0.3866,0 -0.7,-0.3134 -0.7,-0.7 z"
font-family="sans-serif"
font-weight="normal"
id="path256"
style="fill:none;stroke:#0000ff;stroke-width:0.2646;stroke-opacity:1" />
<path
d="m 981.39325,413.09876 c 0,-0.3866 0.3134,-0.7 0.7,-0.7 0.3866,0 0.7,0.3134 0.7,0.7 0,0.3866 -0.3134,0.7 -0.7,0.7 -0.3866,0 -0.7,-0.3134 -0.7,-0.7 z"
font-family="sans-serif"
font-weight="normal"
id="path258"
style="fill:none;stroke:#0000ff;stroke-width:0.2646;stroke-opacity:1" />
</g>
</g>
<path
d="m 1046.6564,457.73314 15.47,-47.61"
font-family="sans-serif"
font-weight="normal"
id="path264"
style="fill:none;stroke:none;stroke-width:0.2646;stroke-opacity:1" />
<path
d="m 1046.6564,457.73314 15.47,-47.61"
font-family="sans-serif"
font-weight="normal"
id="path268"
style="fill:none;stroke:none;stroke-width:0.2646;stroke-opacity:1" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 23 KiB

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>Jitter Gradients</_name>
<id>fablabchemnitz.de.jittergradients</id>
<param name="jitter_amount" type="int" min="1" max="1000" gui-text="Jitter Amount" gui-description="Relative to distance between gradient nodes">0</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu name="FabLab Chemnitz">
<submenu name="Various"/>
</submenu>
</effects-menu>
</effect>
<script>
<command reldir="inx" interpreter="python">jitter_gradients.py</command>
</script>
</inkscape-extension>

View File

@ -0,0 +1,66 @@
#!/usr/bin/env python3
import inkex
from inkex import Style
import re
import random
class JitterGradients(inkex.EffectExtension):
def add_arguments(self, pars):
pars.add_argument('-j', '--jitter_amount', type=int, default=10, help='Relative to distance between gradient nodes')
def getUrlFromString(self, text):
pattern = re.compile(r"url\(#([a-zA-Z0-9_-]+)\)")
result = re.search(pattern, text)
if (result):
return result.group(1)
else:
return 0;
def getFill(self, element):
if(element.get('fill') and self.getUrlFromString(element.get('fill'))):
return self.getUrlFromString(element.get('fill'))
elif (element.get('style') and Style(element.get('style'))['fill'] and self.getUrlFromString(Style(element.get('style'))['fill'])):
return self.getUrlFromString(Style(element.get('style'))['fill'])
else:
return None
def getGradientFromId(self, elementId):
element = self.svg.getElementById(elementId)
if (element is not None and element.tag.find("linearGradient") >= 0):
return element
else:
return None
def effect(self):
option = self.options.jitter_amount
self._main_function(option)
def _main_function(self, amount):
for element in self.svg.selected.values():
fillId = self.getFill(element)
if (fillId is None):
continue
gradient = self.getGradientFromId(fillId)
if (gradient is None):
continue
x1 = self.svg.unittouu(gradient.get("x1"))
y1 = self.svg.unittouu(gradient.get("y1"))
x2 = self.svg.unittouu(gradient.get("x2"))
y2 = self.svg.unittouu(gradient.get("y2"))
x1 += random.uniform(-amount, amount)
y1 += random.uniform(-amount, amount)
x2 += random.uniform(-amount, amount)
y2 += random.uniform(-amount, amount)
gradient.set('x1', str(self.svg.uutounit(x1, self.svg.unit)) + self.svg.unit)
gradient.set('y1', str(self.svg.uutounit(y1, self.svg.unit)) + self.svg.unit)
gradient.set('x2', str(self.svg.uutounit(x2, self.svg.unit)) + self.svg.unit)
gradient.set('y2', str(self.svg.uutounit(y2, self.svg.unit)) + self.svg.unit)
if __name__ == '__main__':
JitterGradients().run()