Illinois
to generate a new and unique variation
Every variart piece is open source, you can see exactly how it is drawn from the code.
var color = '#BE0A2F';
s.rect(0, 0, width, height).attr({fill: color})
illinois = "m 177.63486,79.36953 c -1.52593,3.394817 4.0434,3.537197 4.98596,6.052357 2.44801,1.518336 5.73924,3.734411 5.13579,7.050833 -0.22708,3.601001 2.82098,5.915267 5.89271,6.862531 2.14825,0.789039 3.92431,1.944329 5.09598,3.565029 2.92332,0.57671 -0.19375,5.0315 2.19219,6.87456 -0.10995,2.45089 -1.10802,4.93427 -0.7397,7.50594 -1.25266,2.69684 -0.0644,6.49222 -3.95668,7.33525 -2.82918,0.7845 -3.89864,3.07529 -3.48146,5.78771 -2.31846,2.16347 0.56583,6.82727 -3.60705,7.01299 -1.9463,2.12545 -4.01071,4.45924 -7.06381,3.01051 -3.03796,0.75056 -4.08838,4.59957 -7.66461,4.49653 -3.29953,0.24038 -6.59674,-0.79982 -9.30195,1.51874 -2.25938,0.23122 -7.11479,-1.38772 -6.48999,2.57543 -1.24837,2.76192 -1.27749,5.91749 -2.81772,8.6319 1.84812,2.05935 2.9478,5.05886 5.72062,5.57931 2.00382,2.92462 2.75486,6.36415 1.94875,9.86751 0.38649,3.91899 -3.52477,5.82893 -5.11048,9.04996 -3.34209,1.93439 1.04227,5.06701 -1.47485,7.52743 -0.12975,3.62491 -4.01145,5.42673 -7.22543,5.39713 -2.71496,0.98561 -7.16239,1.88426 -7.40374,5.38868 2.34893,1.61313 2.26114,3.86255 1.28271,6.30628 1.74163,2.59646 -0.28084,3.72538 -2.39524,4.63438 -3.03131,2.63329 -1.87094,6.84307 -3.3188,10.10535 -0.61206,3.75232 -0.38973,7.80242 1.32565,11.34132 0.37018,2.56584 4.17651,5.01799 1.42219,7.25616 -1.3614,3.55194 4.69742,4.09258 3.88089,7.42591 -1.46931,3.72094 3.51781,5.09767 5.09307,7.71737 2.36267,1.26011 3.36528,3.76441 4.77774,5.61715 4.28567,-0.58076 3.05883,5.60449 6.4186,6.81778 2.57875,1.43484 4.76302,3.30226 7.07419,5.12204 2.40915,1.70902 4.48659,3.56099 5.95189,6.05625 0.63354,2.63967 0.0524,5.75113 1.74504,8.01698 0.0775,2.04009 -1.87804,4.23905 0.23228,6.23874 0.29229,3.18471 1.44431,7.1796 4.94976,8.11274 3.71732,0.11314 3.40439,-6.40632 7.42368,-5.7069 2.74497,2.50162 6.79966,1.80281 9.48413,4.2727 1.99363,1.65802 7.13997,2.77922 3.80533,6.14324 -1.40995,1.58456 -5.11607,3.79969 -3.05582,6.07426 1.59717,2.76058 0.0147,6.14378 -2.14058,8.12252 -2.21118,3.0673 -1.16684,7.19654 -4.3442,9.7076 -2.49106,3.56769 -2.17665,8.64897 0.45143,12.01564 3.47114,0.78655 3.38571,5.50531 6.73671,6.67391 2.43437,-0.30914 2.84304,1.46753 3.95694,2.92747 2.91579,0.50461 4.06976,4.90786 7.36569,2.96462 0.85795,1.78022 -3.4782,1.81976 -1.1117,3.98077 1.09133,3.26515 3.72088,0.90366 5.70133,0.19616 3.00563,1.65989 5.47507,4.27701 8.10641,6.25443 -1.13061,3.98623 4.30808,4.13152 6.55424,5.75741 0.34634,2.75213 0.80974,4.99521 0.0696,7.71411 0.38212,3.27901 2.30221,5.8558 4.315,8.28938 1.20284,2.96437 -0.98673,4.51033 -3.27481,5.53136 -2.68132,1.66556 -1.46452,5.47577 1.74767,4.25082 -0.78007,3.02704 0.90042,6.57722 3.56696,8.62316 0.67845,1.76551 -1.23234,4.48456 1.97974,4.67232 0.95003,1.1616 4.29335,2.87639 3.66106,0.0927 -2.50544,-0.46311 -3.47517,-4.13101 -0.28774,-4.05976 0.89237,1.69015 1.45566,3.47628 3.06957,4.65884 -0.96862,2.57889 3.12627,2.81568 2.66122,1.20583 -4.02544,-3.03693 0.41419,-6.14317 2.24979,-8.64057 1.50011,-4.52923 7.49896,-5.60765 11.33838,-3.44306 2.68424,0.99091 4.29242,3.72629 7.24512,4.16988 3.72492,-0.0717 5.64862,3.73712 9.04132,4.11346 3.51935,-1.23863 3.94876,-5.67912 2.44362,-8.64391 -0.70633,-2.46059 -5.12383,-3.71298 -2.26897,-6.70456 0.95579,-2.43507 2.002,-8.08983 5.54349,-4.68049 1.79915,-0.96253 3.64481,-3.25276 6.42045,-3.05129 2.58828,-1.07764 8.10285,-0.19547 7.63298,-4.25346 -1.30906,-2.29128 -4.24171,-3.84833 -3.99771,-6.94009 -0.64385,-3.71423 4.67234,-3.61323 5.15535,-6.77112 0.16655,-1.7778 1.82728,-3.82003 -1.05407,-2.52093 -2.10678,-1.09261 -0.54904,-2.28682 1.08621,-1.27449 1.99818,-0.90103 -2.18321,-1.881 -2.01476,-3.57404 -2.27786,-3.45501 3.18084,1.56554 3.21459,-1.64149 -1.06829,-0.59324 -3.44316,-0.38057 -0.80013,-1.19532 0.12379,-1.6252 1.72423,-2.21151 0.49256,-4.20979 0.90579,-1.40365 0.76374,-1.93566 -0.832,-1.55649 -0.62075,-2.27222 4.33883,-0.44405 3.79457,-3.6391 0.28172,-2.26208 2.74752,-4.24548 -0.44785,-5.8288 -0.27689,-1.46472 -0.68011,-3.69649 -0.0653,-4.83332 1.28345,0.48503 3.38189,-3.21628 2.3716,0.0503 1.00476,1.36364 2.72047,-4.55465 2.54356,-0.92727 1.60412,2.81229 0.71904,-3.99984 2.6978,-4.35775 2.71269,-0.56517 4.43553,-4.64245 2.47134,-6.55518 1.66249,-0.34484 3.42196,-1.48883 4.83406,-2.07892 -1.79187,-1.53317 0.10042,-3.77758 0.84614,-4.73409 1.70101,0.49273 -0.42024,-1.32867 0.68426,-2.0561 -0.84762,-3.23542 4.79813,-2.16464 4.68074,-5.34215 1.48468,-1.79171 -0.63378,-3.13962 0.77694,-4.26077 -2.01414,-1.23071 -0.29783,-3.90083 -2.53508,-4.66707 0.0431,-1.78 3.23716,-5.73589 -0.0521,-6.69298 -3.28034,-1.10138 1.09023,-5.39994 -2.81637,-6.12826 0.86293,-2.08945 -3.23166,-0.89492 -1.42363,-2.76068 -1.95551,-1.82562 2.26139,-3.11802 2.93275,-4.82786 0.74654,-1.56353 0.417,-2.66153 -0.95563,-2.90072 -0.50976,-2.05747 -0.19832,-4.62455 2.23852,-5.42651 1.49665,0.0555 0.63025,-2.02107 0.86605,-3.17175 0.20341,-46.90798 0.40682,-93.81597 0.61023,-140.72395 0.022,-2.94721 -2.77642,-4.00153 -3.49167,-6.78587 -1.05843,-2.76992 0.16139,-4.24579 -1.33896,-6.45745 -0.44864,-2.83217 -1.86757,-5.27245 -2.11358,-8.56811 -1.53452,-1.80868 -3.07979,-3.69461 -4.10073,-5.99281 -1.21685,-1.90181 -2.17662,-3.91658 -2.70564,-6.116708 -1.15175,-2.954712 -0.0904,-5.933474 0.81288,-8.71876 -0.63032,-1.685591 1.65821,-6.177685 -0.94735,-6.262513 -7.74527,-0.0099 -15.4969,-0.04597 -23.23761,0.02031 -5.37703,-0.28927 -10.77267,0.246313 -16.15868,0.0739 -30.39455,-0.244302 -60.78978,-0.487917 -91.18389,-0.73265 z"
illinois = s.path(illinois).attr({fill: '#fff'})
var boundingBox = illinois.getBBox();
var heartX = intVariable('heartX', Math.floor(boundingBox.x), Math.floor(boundingBox.x2));
var heartY = intVariable('heartY', Math.floor(boundingBox.y), Math.floor(boundingBox.y2));
heart = s.path("M24.132,7.971c-2.203-2.205-5.916-2.098-8.25,0.235L15.5,8.588l-0.382-0.382c-2.334-2.333-6.047-2.44-8.25-0.235c-2.204,2.203-2.098,5.916,0.235,8.249l8.396,8.396l8.396-8.396C26.229,13.887,26.336,10.174,24.132,7.971z")
heart.transform(Snap.format('t{x},{y}s1.5', {x: heartX, y: heartY}))
heart.attr({fill: color, stroke: '#ffffff', strokeWidth: 2})
Copyright © 2014–2025 Kevin Marsh. All rights reserved. Questions? Comments? hello@variart.io