Ich habe versucht, überall nach der Antwort zu suchen, aber ich finde es nicht. Aber ich möchte den Text, der von einer Eingabe erstellt wurde, an eine bestimmte Position in der Zeichenfläche verschieben, etwa in der oberen Mitte.Canvas Element in die gewünschte Position bewegen
Der Code läuft wie folgt aus: (JSFIDDLE)
<canvas id="canvas" style="background-color: #000" width="800px" height="300px"></canvas>
<input type="text" id="header-text" placeholder="Your Title">
Inzwischen hat die js wie folgt aussieht:
var canvas = document.getElementById('canvas'),
ctx = canvas.getContext('2d');
document.getElementById('header-text').addEventListener('keyup', function() {
var stringTitle = document.getElementById('header-text').value;
console.log(stringTitle)
ctx.clearRect(0, 0, canvas.width, canvas.height);
ctx.fillStyle = '#fff';
ctx.font = 'bold 36px Arial';
ctx.textAlign = 'center';
var text_title = stringTitle;
ctx.fillText(stringTitle, 15, canvas.height/2 + 35);
});
Gibt es eine Möglichkeit, wo ich den Text in der oberen Mitte erzeugt bewegen kann? Vielen Dank!
Arbeitete! Vielen Dank! –
Autsch! Die Verwendung hartcodierter y-Offsets (oder sogar y-Offsets basierend auf der Schriftgröße) ist nicht sehr präzise. Verwenden Sie stattdessen 'context.setBaseline', das genau zum vertikalen Ausrichten von Text verwendet wird. – markE
Sie haben Recht. Deine Antwort ist besser, meine schlechte. Ich lerne immer noch JS;) –