ããã¹ãã®æç»
åã®ç« ã§ã¹ã¿ã¤ã«ãè²ãé©ç¨ããæ¹æ³ãè¦ãå¾ã¯ããã£ã³ãã¹ã«ããã¹ããæç»ããæ¹æ³ãè¦ã¦ããã¾ãã
ããã¹ãã®æç»
ãã£ã³ãã¹ã®æç»ã³ã³ããã¹ãã§ã¯ã 2 種é¡ã®ããã¹ãæç»æ¹æ³ãæä¾ãã¦ãã¾ãã
fillText(text, x, y [, maxWidth])-
(x,y) ã§æå®ããä½ç½®ã«ããã¹ããå¡ãã¤ã¶ãã¦æç»ãã¾ããä»»æã§æå¤§æç»å¹ ãæå®ã§ãã¾ãã
strokeText(text, x, y [, maxWidth])-
(x,y) ã§æå®ããä½ç½®ã«ããã¹ãã®è¼ªéãæç»ãã¾ããä»»æã§æå¤§æç»å¹ ãæå®ã§ãã¾ãã
fillText ã®ä¾
ç¾å¨ã® fillStyle ã使ç¨ãã¦ãããã¹ããå¡ãã¤ã¶ãã¦æç»ãã¾ãã
function draw() {
const ctx = document.getElementById("canvas").getContext("2d");
ctx.font = "48px serif";
ctx.fillText("Hello world", 10, 50);
}
strokeText ã®ä¾
ç¾å¨ã® strokeStyle ã使ç¨ãã¦ãããã¹ãã®è¼ªéãæç»ãã¾ãã
function draw() {
const ctx = document.getElementById("canvas").getContext("2d");
ctx.font = "48px serif";
ctx.strokeText("Hello world", 10, 50);
}
ããã¹ãã®ã¹ã¿ã¤ã«ä»ã
ä¸è¨ã®ä¾ã§ã¯ãããã¹ããæ¢å®ã®ãµã¤ãºããè¥å¹²å¤§ããããããããã§ã« font ããããã£ã使ç¨ãã¦ãã¾ããããã£ã³ãã¹ã«ããã¹ãã表示ããå½¢å¼ã調æ´ã§ããããããã£ã¯ãããã«ããã¤ãããã¾ãã
font = value-
ããã¹ããæç»ããéã«ä½¿ç¨ããããã¹ãã®ã¹ã¿ã¤ã«ã§ãã CSS ã®
fontããããã£ã¨åãæ§æã«åã£ãæååã§ããæ¢å®ã®ãã©ã³ã㯠10px sans-serif ã§ãã textAlign = value-
ããã¹ãã®é ç½®ãè¨å®ãã¾ãã使ç¨ã§ããå¤ã¯
startãendãleftãrightãcenterã§ããæ¢å®å¤ã¯startã§ãã textBaseline = value-
ãã¼ã¹ã©ã¤ã³ã®ä½ç½®ããããè¨å®ãã¾ãã使ç¨ã§ããå¤ã¯
topãhangingãmiddleãalphabeticãideographicãbottomã§ããæ¢å®å¤ã¯alphabeticã§ãã direction = value-
æ¸åæ¹åãè¨å®ãã¾ãã使ç¨ã§ããå¤ã¯
ltrãrtlãinheritã§ããæ¢å®å¤ã¯inheritã§ãã
以åã« CSS ãæ±ã£ããã¨ãããã°ããããã®ããããã£ãè¦æ £ãã¦ããã§ãããã
以ä¸ã¯ WHATWG æä¾ã®ãtextBaseline 屿§ã«ãã£ã¦ãµãã¼ãããã¦ããæ§ã
ãªãã¼ã¹ã©ã¤ã³ã示ããå³ã§ãã
textBaseline ã®ä¾
以ä¸ã®ã³ã¼ããç·¨éããã¨ãcanvas ã®å¤æ´åæããã®å ´ã§ç¢ºèªã§ãã¾ãã
é«åº¦ãªããã¹ã測å®
ããã¹ãã®ããè©³ç´°ãªæ å ±ãå¾ãå¿ è¦ãããå ´åã¯ã以ä¸ã®ã¡ã½ããã§æ¸¬å®ãããã¨ãã§ãã¾ãã
measureText()-
æå®ããããã¹ããç¾å¨ã®ããã¹ãã¹ã¿ã¤ã«ã§æç»ããã¨ãã®å¹ ããã¯ã»ã«åä½ã§è¡¨ããæ å ±ãæã¤ã
TextMetricsãªãã¸ã§ã¯ããè¿ãã¾ãã
以ä¸ã®ã³ã¼ãã¹ããããã¯ãããã¹ããæ¸¬å®ãã¦å¹ ãå¾ãæ¹æ³ã示ãã¦ãã¾ãã
function draw() {
const ctx = document.getElementById("canvas").getContext("2d");
const text = ctx.measureText("foo"); // TextMetrics object
text.width; // 16;
}
ã¢ã¯ã»ã·ããªãã£ã®èæ ®
<canvas> è¦ç´ ã¯åãªãããããããã§ãããæç»ãããªãã¸ã§ã¯ãã®æ
å ±ã¯æä¾ãã¾ããããã£ã³ãã¹ä¸ã«æ¸ãããããã¹ãã¯ãç»é¢ã®æ¡å¤§ãé ¼ãã«ãã¦ããã¦ã¼ã¶ã¼ã«ã¨ã£ã¦ãèªã¿ãããã®åé¡ãçºçãããå¯è½æ§ãããã¾ãããã£ã³ãã¹è¦ç´ å
ã®ãã¯ã»ã«ã¯å¤åããªãã®ã§ãæ¡å¤§ããã¨ã¼ããã¦ãã¾ãã¾ããããã¯ããã¯ã»ã«ããã¯ã¿ã¼ã§ã¯ãªããæåã®å½¢ããããã¯ã»ã«ã®éåã§ããããã§ããæ¡å¤§ããã¨ãã¯ã»ã«ã大ãããªãã¾ãã
ãã£ã³ãã¹ã®ã³ã³ãã³ãã¯ãæå³ã¥ãããã HTML ã®ããã«ã¢ã¯ã»ã·ããªãã£ãã¼ã«ã«å ¬éããããã¨ã¯ããã¾ãããä¸è¬çã«ãã¢ã¯ã»ã·ããªãã£ã®ããã¦ã§ããµã¤ããã¢ããªã§ãã£ã³ãã¹ã使ç¨ãããã¨ã¯é¿ãã¾ãããããã£ã³ãã¹ã®ä»£ããã« HTML è¦ç´ ã SVG ã使ç¨ãããã¨ãã§ãã¾ãã