Canvas - 06
11551 ワード
テキストの描画
テキストの描画
キャンバスレンダリングコンテキストには、2つのテキストをレンダリングする方法があります.
fillTextの例
function draw() {
var ctx = document.getElementById('canvas').getContext('2d');
ctx.font = '48px serif';
ctx.fillText('Hello world', 10, 50);
}
StrokeTextの例
function draw() {
var ctx = document.getElementById('canvas').getContext('2d');
ctx.font = '48px serif';
ctx.strokeText('Hello world', 10, 50);
}
テキストスタイルの適用
const canvas = document.getElementById('canvas');
const ctx = canvas.getContext('2d');
if(canvas.getContext){
draw();
}
function draw(){
//body태그에서 p태그의 text를 가져옴
const txt = document.querySelector('p').childNodes[0].nodeValue;
//잘 가지고 오는지 확인
console.log(txt);
//텍스트 스타일 설정
ctx.font = '12px serif';
//가져온 텍스트 붙이기
ctx.fillText(txt,10,50, 450);
//텍스트 스타일 설정
ctx.font = '48px serif';
//x축을 어디에 놓을 것인지 선택하는 것이다.
ctx.textAlign = 'left'
//y축을 어디에 놓을 것인지 선택하는 것이다.
ctx.textBaseline = 'top'
ctx.strokeText('Javascript!',250,100)
ctx.font = '48px serif';
ctx.textBaseline = 'middle';
ctx.textAlign = 'right';
//특수문자만 방향이 바뀜
ctx.direction = 'rtl';
ctx.fillText('Javascript!',400,200)
}
先進的なテキスト測定
const canvas = document.getElementById('canvas');
const ctx = canvas.getContext('2d');
if(canvas.getContext){
draw();
}
function draw(){
let txt = 'I love Javascript'
let text = ctx.measureText(txt); // TextMetrics object
text.width;
console.log(text.width)
}
Reference
この問題について(Canvas - 06), 我々は、より多くの情報をここで見つけました https://velog.io/@km2535/Canvas-06テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol