blob: 8e53afe9297b722ff243217b6a8fae6d7fa269ce (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
<!doctype html>
<html lang="en-us">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<!--This is code modified from https://github.com/emscripten-core/emscripten/blob/main/src/shell_minimal.html.-->
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Hitomezashi</title>
<style>
canvas {
padding-right: 0;
margin-left: auto;
margin-right: auto;
display: block;
border: 0px none;
background-color: black;
}
form {
display: table;
margin: auto;
}
form>p {
display: table-row;
}
form>p>label {
display: table-cell;
}
form>p>label>input {
display: table-cell;
}
button#downloadCanvas {
display: block;
margin: 0 auto;
}
p#info {
text-align: center;
}
p#info>a {
margin-left: 1ex;
margin-right: 1ex;
}
</style>
</head>
<body>
<form name="hitomezashi parameters" autocomplete="off">
<p><label>x pattern: <input name="x_pattern"></label></p>
<p><label>y pattern: <input name="y_pattern"></label></p>
<p><label>gap: <input name="gap" type="number"></label></p>
<p><label>line thickness: <input name="line_thickness" type="number"></label></p>
<p><label>foreground colour: <input name="fg_colour" type="color"></label></p>
<p><label>background colour: <input name="bg_colour" type="color"></label></p>
</form>
<br>
<canvas class="emscripten" id="canvas" oncontextmenu="event.preventDefault()" tabindex=-1></canvas>
<br>
<button id="downloadCanvas">download as image</button>
<script type='text/javascript'>
var Module = {
canvas: (function () {
var canvas = document.getElementById('canvas');
canvas.addEventListener("webglcontextlost", function (e) { alert('Error: WebGL context lost. Please reload the page.'); e.preventDefault(); }, false);
return canvas;
})(),
};
function downloadCanvas() {
let downloadLink = document.createElement("a");
downloadLink.setAttribute("download", "hitomezashi");
downloadLink.setAttribute("href", canvas.toDataURL());
downloadLink.click();
}
document.querySelector("#downloadCanvas").addEventListener("click", downloadCanvas);
</script>
{{{ SCRIPT }}}
</body>
</html>
|