-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsource_code_dump.txt
479 lines (458 loc) · 58.3 KB
/
source_code_dump.txt
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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
// fabricjs.html
<!DOCTYPE html>
<html>
<head>
<title>Load JSON into Fabric.js Canvas</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/fabric.js/5.3.1/fabric.min.js"></script>
<script defer src="./test.js"></script>
<style>
html, body{
padding:0;
margin:0;
background-color: red;
}
#my-container {
width: 100%;
height: 100vh;
display: flex;
justify-content: center;
align-items: center;
background-color: aqua;
}
canvas {
max-width: 100%;
max-height: 100%;
}
</style>
</head>
<body>
<div class="button" style="width:100%; background:yellow; padding:1rem; text-align:center;">
<button onclick="ResizeButton()">Resize</button>
</div>
<div id="main" style="width:100%; height:100%; background: rgb(252, 162, 162);">
<div id="my-container">
<canvas id="canvas"></canvas>
</div>
</div>
</body>
</html>
// sample_json_from_farbicjs.json
{
"version": "5.3.0",
"objects": [
{
"type": "rect",
"version": "5.3.0",
"originX": "left",
"originY": "top",
"left": 0,
"top": 0,
"width": 1700,
"height": 760,
"fill": "rgba(255,255,255,1)",
"stroke": null,
"strokeWidth": 1,
"strokeDashArray": null,
"strokeLineCap": "butt",
"strokeDashOffset": 0,
"strokeLineJoin": "miter",
"strokeUniform": false,
"strokeMiterLimit": 4,
"scaleX": 1,
"scaleY": 1,
"angle": 0,
"flipX": false,
"flipY": false,
"opacity": 1,
"shadow": null,
"visible": true,
"backgroundColor": "",
"fillRule": "nonzero",
"paintFirst": "fill",
"globalCompositeOperation": "source-over",
"skewX": 0,
"skewY": 0,
"rx": 0,
"ry": 0,
"id": "workspace",
"selectable": false,
"hasControls": false
},
{
"type": "image",
"version": "5.3.0",
"originX": "left",
"originY": "top",
"left": 3.7164,
"top": 1,
"width": 1700,
"height": 760,
"fill": "rgb(0,0,0)",
"stroke": null,
"strokeWidth": 0,
"strokeDashArray": null,
"strokeLineCap": "butt",
"strokeDashOffset": 0,
"strokeLineJoin": "miter",
"strokeUniform": false,
"strokeMiterLimit": 4,
"scaleX": 0.9975,
"scaleY": 1,
"angle": 0,
"flipX": false,
"flipY": false,
"opacity": 1,
"shadow": null,
"visible": true,
"backgroundColor": "",
"fillRule": "nonzero",
"paintFirst": "fill",
"globalCompositeOperation": "source-over",
"skewX": 0,
"skewY": 0,
"cropX": 0,
"cropY": 0,
"id": "73c94f94-be39-4b84-913d-394e82f17ec9",
"selectable": true,
"hasControls": true,
"src": "data:image/jpeg;base64,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",
"crossOrigin": null,
"filters": []
},
{
"type": "rect",
"version": "5.3.0",
"originX": "left",
"originY": "top",
"left": 326.3585,
"top": 121.9472,
"width": 400,
"height": 400,
"fill": "#F57274",
"stroke": null,
"strokeWidth": 1,
"strokeDashArray": null,
"strokeLineCap": "butt",
"strokeDashOffset": 0,
"strokeLineJoin": "miter",
"strokeUniform": false,
"strokeMiterLimit": 4,
"scaleX": 0.9702,
"scaleY": 0.6699,
"angle": 0,
"flipX": false,
"flipY": false,
"opacity": 0.86,
"shadow": "",
"visible": true,
"backgroundColor": "",
"fillRule": "nonzero",
"paintFirst": "fill",
"globalCompositeOperation": "source-over",
"skewX": 0,
"skewY": 0,
"rx": 0,
"ry": 0,
"id": "a309ebea-2727-431d-a02a-ef061a201142",
"selectable": true,
"hasControls": true
},
{
"type": "rect",
"version": "5.3.0",
"originX": "left",
"originY": "top",
"left": 1032.1389,
"top": 104.2158,
"width": 400,
"height": 400,
"fill": "#F57274",
"stroke": null,
"strokeWidth": 1,
"strokeDashArray": null,
"strokeLineCap": "butt",
"strokeDashOffset": 0,
"strokeLineJoin": "miter",
"strokeUniform": false,
"strokeMiterLimit": 4,
"scaleX": 0.6439,
"scaleY": 0.6589,
"angle": 0,
"flipX": false,
"flipY": false,
"opacity": 0.71,
"shadow": "",
"visible": true,
"backgroundColor": "",
"fillRule": "nonzero",
"paintFirst": "fill",
"globalCompositeOperation": "source-over",
"skewX": 0,
"skewY": 0,
"rx": 0,
"ry": 0,
"id": "baee0a93-090c-4a2e-b0fa-a36e0786da13",
"selectable": true,
"hasControls": true
},
{
"type": "rect",
"version": "5.3.0",
"originX": "left",
"originY": "top",
"left": 337.4407,
"top": 459.075,
"width": 400,
"height": 400,
"fill": "#F57274",
"stroke": null,
"strokeWidth": 1,
"strokeDashArray": null,
"strokeLineCap": "butt",
"strokeDashOffset": 0,
"strokeLineJoin": "miter",
"strokeUniform": false,
"strokeMiterLimit": 4,
"scaleX": 0.6109,
"scaleY": 0.6472,
"angle": 0,
"flipX": false,
"flipY": false,
"opacity": 0.75,
"shadow": "",
"visible": true,
"backgroundColor": "",
"fillRule": "nonzero",
"paintFirst": "fill",
"globalCompositeOperation": "source-over",
"skewX": 0,
"skewY": 0,
"rx": 0,
"ry": 0,
"id": "8e8c69f8-f4cb-41ea-b149-965bb947a4b3",
"selectable": true,
"hasControls": true
},
{
"type": "rect",
"version": "5.3.0",
"originX": "left",
"originY": "top",
"left": 589.707,
"top": 461.2914,
"width": 400,
"height": 400,
"fill": "#F57274",
"stroke": null,
"strokeWidth": 1,
"strokeDashArray": null,
"strokeLineCap": "butt",
"strokeDashOffset": 0,
"strokeLineJoin": "miter",
"strokeUniform": false,
"strokeMiterLimit": 4,
"scaleX": 0.4682,
"scaleY": 0.6141,
"angle": 0,
"flipX": false,
"flipY": false,
"opacity": 1,
"shadow": "",
"visible": true,
"backgroundColor": "",
"fillRule": "nonzero",
"paintFirst": "fill",
"globalCompositeOperation": "source-over",
"skewX": 0,
"skewY": 0,
"rx": 0,
"ry": 0,
"id": "6e01f003-40b4-45b9-895b-d1c167a4c4a5",
"selectable": true,
"hasControls": true
},
{
"type": "rect",
"version": "5.3.0",
"originX": "left",
"originY": "top",
"left": 790.3198,
"top": 459.075,
"width": 400,
"height": 400,
"fill": "#F57274",
"stroke": null,
"strokeWidth": 1,
"strokeDashArray": null,
"strokeLineCap": "butt",
"strokeDashOffset": 0,
"strokeLineJoin": "miter",
"strokeUniform": false,
"strokeMiterLimit": 4,
"scaleX": 0.4682,
"scaleY": 0.6141,
"angle": 0,
"flipX": false,
"flipY": false,
"opacity": 1,
"shadow": "",
"visible": true,
"backgroundColor": "",
"fillRule": "nonzero",
"paintFirst": "fill",
"globalCompositeOperation": "source-over",
"skewX": 0,
"skewY": 0,
"rx": 0,
"ry": 0,
"id": "460b1f25-f454-4703-8ad5-5a7993341ff2",
"selectable": true,
"hasControls": true
},
{
"type": "rect",
"version": "5.3.0",
"originX": "left",
"originY": "top",
"left": 1045.3719,
"top": 451.3436,
"width": 400,
"height": 400,
"fill": "#F57274",
"stroke": null,
"strokeWidth": 1,
"strokeDashArray": null,
"strokeLineCap": "butt",
"strokeDashOffset": 0,
"strokeLineJoin": "miter",
"strokeUniform": false,
"strokeMiterLimit": 4,
"scaleX": 0.6109,
"scaleY": 0.6472,
"angle": 0,
"flipX": false,
"flipY": false,
"opacity": 0.75,
"shadow": "",
"visible": true,
"backgroundColor": "",
"fillRule": "nonzero",
"paintFirst": "fill",
"globalCompositeOperation": "source-over",
"skewX": 0,
"skewY": 0,
"rx": 0,
"ry": 0,
"id": "5065f0af-95c2-4fbc-9bfd-81c50968074a",
"selectable": true,
"hasControls": true
}
],
"clipPath": {
"type": "rect",
"version": "5.3.0",
"originX": "left",
"originY": "top",
"left": 0,
"top": 0,
"width": 1700,
"height": 760,
"fill": "rgba(255,255,255,1)",
"stroke": null,
"strokeWidth": 1,
"strokeDashArray": null,
"strokeLineCap": "butt",
"strokeDashOffset": 0,
"strokeLineJoin": "miter",
"strokeUniform": false,
"strokeMiterLimit": 4,
"scaleX": 1,
"scaleY": 1,
"angle": 0,
"flipX": false,
"flipY": false,
"opacity": 1,
"shadow": null,
"visible": true,
"backgroundColor": "",
"fillRule": "nonzero",
"paintFirst": "fill",
"globalCompositeOperation": "source-over",
"skewX": 0,
"skewY": 0,
"rx": 0,
"ry": 0,
"selectable": true,
"hasControls": true
}
}
// test.js
(async function () {
let canvas = window._canvas = new fabric.Canvas('canvas', {
preserveObjectStacking: true
});
fabric.Object.prototype.set({
transparentCorners: false,
cornerColor: 'rgba(102,153,255,0.5)',
cornerSize: 12,
padding: 5,
hasControls: false,
hasBorders: false,
});
const jsonFilePath = "./sample_json_from_farbicjs.json";
async function getTheJson(url) {
try {
let response = await fetch(url);
let data = await response.json();
return data;
} catch (error) {
console.error("Failed to load JSON file:", error);
}
}
const jsonObject = await getTheJson(jsonFilePath);
function draw(){
canvas.loadFromJSON(
jsonObject,
function () {
const width = jsonObject.objects[0].width;
const height = jsonObject.objects[0].height;
canvas.setWidth(width);
canvas.setHeight(height);
canvas.renderAll();
//updateCanvasSize();
},
function (o, object) {
//fabric.log(o, object);
}
);
}
draw();
function resizeCanvas() {
const outerCanvasContainer = document.getElementById("my-container");
const ratio = canvas.getWidth() / canvas.getHeight();
const containerWidth = outerCanvasContainer.clientWidth;
const containerHeight = outerCanvasContainer.clientHeight;
const scale = containerWidth / canvas.getWidth();
const zoom = canvas.getZoom() * scale;
canvas.setDimensions({width: containerWidth, height: containerHeight / ratio});
canvas.setViewportTransform([zoom, 0, 0, zoom, 0, 0]);
return;
scaleRatio = Math.min(container.offsetWidth/canvas.width, container.offsetHeight/canvas.height);
canvas.setDimensions({ width: canvas.getWidth() * scaleRatio, height: canvas.getHeight() * scaleRatio });
canvas.setZoom(scaleRatio);
canvas.getObjects().forEach(function (obj) {
console.log(`type: ${obj.type}, obj.scaleX: ${obj.scaleX}, obj.scaleY: ${obj.scaleY}`)
obj.scaleX *= scaleRatio;
obj.scaleY *= scaleRatio;
obj.setCoords();
});
canvas.calcOffset();
canvas.renderAll();
}
function ResizeButton() {
alert("ResizeButton");
preventDefault();
}
//updateCanvasSize();
window.addEventListener('resize', draw);
})();