HTML5 Canvas: viết chữ xung quanh đường tròn

HTML:
<canvas id="myCanvas" width="578" height="200"></canvas>
Javascript:
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 |
function drawTextAlongArc(context, str, centerX, centerY, radius, angle){ context.save(); context.translate(centerX, centerY); context.rotate(-1 * angle / 2); context.rotate(-1 * (angle / str.length) / 2); for (var n = 0; n < str.length; n++) { context.rotate(angle / str.length); context.save(); context.translate(0, -1 * radius); var char = str[n]; context.fillText(char, 0, 0); context.restore(); } context.restore(); } window.onload = function(){ var canvas = document.getElementById("myCanvas"); var context = canvas.getContext("2d"); context.font = "30pt Calibri"; context.textAlign = "center"; context.fillStyle = "blue"; context.strokeStyle = "blue"; context.lineWidth = 4; var centerX = canvas.width / 2; var centerY = canvas.height - 30; var angle = Math.PI * 0.8; // radians var radius = 150; drawTextAlongArc(context, "Text along arc path", centerX, centerY, radius, angle); // draw circle underneath text context.arc(centerX, centerY, radius - 10, 0, 2 * Math.PI, false); context.stroke(); }; |



.jpg)
