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
|
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Image</title>
<script src="./lib/config.js"></script>
<script src="https://cdn.jsdelivr.net/npm/zrender@5.4.0"></script>
<script>window.zrender540 = zrender;</script>
<script src="../dist/zrender.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<style>
body {
overflow: hidden;
}
.painter {
height: 50vh;
}
</style>
</head>
<body>
<script type="text/javascript">
// See also https://github.com/ecomfe/zrender/issues/947
// See also https://github.com/apache/echarts/issues/17326
// mock non-canvas environment
zrender.setPlatformAPI({
createCanvas: zrender.util.noop
});
zrender540.setPlatformAPI({
createCanvas: zrender540.util.noop
});
function createZr(zrender, painterIdx, indication) {
var zr = zrender.init(null, {
renderer: 'svg',
ssr: true,
width: document.documentElement.clientWidth,
height: document.documentElement.clientHeight / 2
});
zr.add(new zrender.Text({
style: {
x: 100,
y: 200,
text: (indication || '') + 'ABCDEFG1234567',
fontSize: 18
}
}));
function showBoundingRect() {
zr.storage.traverse(function (el) {
if (el.type === 'text') {
var rect = el.getBoundingRect();
zr.add(new zrender.Rect({
shape: rect,
x: el.x,
y: el.y,
rotation: el.rotation,
scaleX: el.scaleX,
scaleY: el.scaleY,
originX: el.originX,
originY: el.originY,
style: {
fill: null,
stroke: zrender.color.random(),
lineWidth: 1
}
}));
}
});
}
var painter = document.createElement('div');
painter.id = 'painter' + painterIdx;
painter.className = 'painter';
document.body.appendChild(painter);
function paint() {
painter.innerHTML = zr.painter.renderToString();
}
showBoundingRect();
paint();
window.addEventListener('resize', function () {
zr.resize({
width: document.documentElement.clientWidth,
height: document.documentElement.clientHeight / 2
});
paint();
});
}
createZr(zrender540, 0, 'BEFORE: ');
createZr(zrender, 1, 'AFTER: ');
</script>
</body>
</html>
|