Skip to content

Instantly share code, notes, and snippets.

@andyone
Created July 19, 2020 00:08
Show Gist options
  • Select an option

  • Save andyone/3d5843d5c5fc25ea8cd4970426df8c9e to your computer and use it in GitHub Desktop.

Select an option

Save andyone/3d5843d5c5fc25ea8cd4970426df8c9e to your computer and use it in GitHub Desktop.
Trianglify Generator
<!DOCTYPE html>
<html>
<head>
<title>Trianglify Generator</title>
</head>
<script src='https://unpkg.com/trianglify@^4/dist/trianglify.bundle.js'></script>
<script>
var pattern = null;
// https://coolors.co/palettes/trending
var palette = {
1: ['#D9F0FF', '#A3D5FF', '#83C9F4', '#6F73D2', '#7681B3'],
2: ["#e1ca96","#aca885","#918b76","#626c66","#434a42"],
3: ["#0fa3b1","#b5e2fa","#f9f7f3","#eddea4","#f7a072"],
4: ["#0d3b66","#faf0ca","#f4d35e","#ee964b","#f95738"],
5: ["#edae49","#d1495b","#00798c","#30638e","#003d5b"],
6: ["#000f08","#136f63","#e0ca3c","#f34213","#3e2f5b"],
7: ["#a49e8d","#504136","#689689","#b2e6d4","#83e8ba"],
8: ["#e5d4ed","#6d72c3","#5941a9","#514f59","#1d1128"],
9: ["#6c756b","#93acb5","#96c5f7","#a9d3ff","#f2f4ff"],
10: ["#fbba72","#ca5310","#bb4d00","#8f250c","#691e06"],
11: ["#264653","#2a9d8f","#e9c46a","#f4a261","#e76f51"],
12: ["#e63946","#f1faee","#a8dadc","#457b9d","#1d3557"],
13: ["#ffcdb2","#ffb4a2","#e5989b","#b5838d","#6d6875"],
14: ["#000000","#14213d","#fca311","#e5e5e5","#ffffff"],
15: ["#7400b8","#6930c3","#5e60ce","#5390d9","#4ea8de","#48bfe3","#56cfe1","#64dfdf","#72efdd","#80ffdb"],
16: ["#f4f1de","#e07a5f","#3d405b","#81b29a","#f2cc8f"],
17: ["#1a535c","#4ecdc4","#f7fff7","#ff6b6b","#ffe66d"],
18: ["#03045e","#023e8a","#0077b6","#0096c7","#00b4d8","#48cae4","#90e0ef","#ade8f4","#caf0f8"],
19: ["#edc4b3","#e6b8a2","#deab90","#d69f7e","#cd9777","#c38e70","#b07d62","#9d6b53","#8a5a44","#774936"],
20: ["#03071e","#370617","#6a040f","#9d0208","#d00000","#dc2f02","#e85d04","#f48c06","#faa307","#ffba08"],
21: ["#f94144","#f3722c","#f8961e","#f9c74f","#90be6d","#43aa8b","#577590"],
22: ["#f8f9fa","#e9ecef","#dee2e6","#ced4da","#adb5bd","#6c757d","#495057","#343a40","#212529"],
23: ["#007f5f","#2b9348","#55a630","#80b918","#aacc00","#bfd200","#d4d700","#dddf00","#eeef20","#ffff3f"],
24: ["#ef476f","#ffd166","#06d6a0","#118ab2","#073b4c"],
25: ["#f9dbbd","#ffa5ab","#da627d","#a53860","#450920"],
26: ["#3d5a80","#98c1d9","#e0fbfc","#ee6c4d","#293241"],
27: ["#cad2c5","#84a98c","#52796f","#354f52","#2f3e46"],
28: ["#d8f3dc","#b7e4c7","#95d5b2","#74c69d","#52b788","#40916c","#2d6a4f","#1b4332","#081c15"],
29: ["#cfdbd5","#e8eddf","#f5cb5c","#242423","#333533"],
30: ["#355070","#6d597a","#b56576","#e56b6f","#eaac8b"],
31: ["#f72585","#7209b7","#3a0ca3","#4361ee","#4cc9f0"],
32: ["#2d00f7","#6a00f4","#8900f2","#a100f2","#b100e8","#bc00dd","#d100d1","#db00b6","#e500a4","#f20089"],
33: ["#0466c8","#0353a4","#023e7d","#002855","#001845","#001233","#33415c","#5c677d","#7d8597","#979dac"],
34: ["#bee9e8","#62b6cb","#1b4965","#cae9ff","#5fa8d3"],
35: ["#10002b","#240046","#3c096c","#5a189a","#7b2cbf","#9d4edd","#c77dff","#e0aaff"],
36: ["#231942","#5e548e","#9f86c0","#be95c4","#e0b1cb"],
37: ["#faa275","#ff8c61","#ce6a85","#985277","#5c374c"],
38: ["#b76935","#a56336","#935e38","#815839","#6f523b","#5c4d3c","#4a473e","#38413f","#263c41","#143642"],
39: ["#132a13","#31572c","#4f772d","#90a955","#ecf39e"],
40: ["#edf67d","#f896d8","#ca7df9","#724cf9","#564592"],
41: ["#c9cba3","#ffe1a8","#e26d5c","#723d46","#472d30"],
42: ["#353535","#3c6e71","#ffffff","#d9d9d9","#284b63"],
43: ["#233d4d","#fe7f2d","#fcca46","#a1c181","#619b8a"],
44: ["#f7d1cd","#e8c2ca","#d1b3c4","#b392ac","#735d78"],
45: ["#484a47","#5c6d70","#a37774","#e88873","#e0ac9d"],
46: ["#1a1423","#3d314a","#684756","#96705b","#ab8476"],
47: ["#36213e","#554971","#63768d","#8ac6d0","#b8f3ff"],
48: ["#8d5a97","#907f9f","#a4a5ae","#b0c7bd","#b8ebd0"],
49: ["#084c61","#db504a","#e3b505","#4f6d7a","#56a3a6"],
50: ["#641220","#6e1423","#85182a","#a11d33","#a71e34","#b21e35","#bd1f36","#c71f37","#da1e37","#e01e37"],
51: ["#e0fbfc","#c2dfe3","#9db4c0","#5c6b73","#253237"],
52: ["#ffffff","#00171f","#003459","#007ea7","#00a8e8"],
53: ["#153bf5","#703de1","#a98bed","#c255f7","#6fe2ab","#121420"],
54: ["#f79256","#fbd1a2","#7dcfb6","#00b2ca","#1d4e89"],
55: ["#0b0033","#370031","#832232","#ce8964","#eaf27c"],
56: ["#f4e409","#eeba0b","#c36f09","#a63c06","#710000"],
57: ["#e0fbfc","#c2dfe3","#9db4c0","#5c6b73","#253237"],
58: ["#e4fde1","#8acb88","#648381","#575761","#ffbf46"],
}
function generate() {
pattern = trianglify({
width: 1024,
height: 1024,
cellSize: 160,
variance: 0.65,
colorSpace: 'lab',
palette: palette,
colorFunction: trianglify.colorFunctions.interpolateLinear(0.3),
})
canvas = document.querySelector("#viewer");
pattern.toCanvas(canvas, {scaling: 0.5, applyCssScaling: false});
}
function savePattern() {
var svgBlob = new Blob([pattern.toSVGTree()], {type:"image/svg+xml;charset=utf-8"});
var svgUrl = URL.createObjectURL(svgBlob);
var downloadLink = document.createElement("a");
downloadLink.href = svgUrl;
downloadLink.download = "pattern.svg";
document.body.appendChild(downloadLink);
downloadLink.click();
document.body.removeChild(downloadLink);
}
</script>
<body onload="generate();">
<canvas id="viewer"></canvas>
<br/><br/>
<button onclick="savePattern();">Save SVG</button>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment