キャンバス上の円弧に沿ってテキストを湾曲させるコードに取り組んでいます。上部は必要なだけ近くで機能していますが、下部に上向きに湾曲するテキストを追加する必要もあります。私はそれを解決することはできません。どんな助けでも大歓迎です。
また、ここに私が取り組んでいるフィドルへのリンクがあります:ここに
var
text = 'Hello world, Im just JS',
len = text.length,
// The coverage of the circle
angle = Math.PI * .7,
centerX = 275,
centerY = 250,
radius = 200,
context = document.getElementById('canvas').getContext('2d'),
n = 0;
// Format the text
context.font = '40px Arial';
context.textAlign = 'center';
context.fillStyle = 'black';
context.strokeStyle = 'blue';
context.lineWidth = 2;
// Save the current state
context.save();
// Move our pointer
context.translate(centerX, centerY);
// Rotate
context.rotate(-1 * angle / 2);
context.rotate(-1 * (angle / len) / 2);
// Loop over the string
for(; n < len; n += 1) {
context.rotate(angle / len);
context.save();
context.translate(0, -1 * radius);
context.fillText(text[n], 0, 0);
context.strokeText(text[n], 0, 0);
context.restore();
};
// Restore the canvas state
context.restore();