캔버스에 500 * 250 (w * h) 크기의 캔버스가 있으며이 코드가 적용되었습니다.캔버스 배치 문제
var cvs = document.getElementById('Dugong');
var ctx = cvs.getContext('2d');
var cvsHeight = cvs.height; // 250
var cvsWidth = cvs.width; // 500
var loadUpFlappy = "Flappy";
var loadUpDugong = "Dugong";
ctx.fillStyle = "#ECA20F";
ctx.fillRect(5, (cvsHeight/2) + 1, ctx.measureText(loadUpFlappy).width + 10, 2); // across, down, width, height
ctx.fillRect(cvsWidth - (ctx.measureText(loadUpDugong).width + 5), cvsHeight/2 + 1, ctx.measureText(loadUpDugong).width + 10, 2);
ctx.fillStyle = "#DADFE1";
ctx.font = "40px Century Schoolbook";
ctx.fillText(loadUpFlappy, 10, cvsHeight/2);
ctx.fillText(loadUpDugong, cvsWidth - (ctx.measureText(loadUpDugong).width + 10), cvsHeight/2);
내 지식으로는이 코드가 출력되어야합니다. 2
의 높이가
- 하나
#ECA20F
라인은 멀리 왼쪽 캔버스 테두리로부터5
이다 캔버스 중간 선 아래1
이고Flappy
플러스10
의 폭을 갖는다. 2
의 높이가 다른#ECA20F
라인,5
멀리 오른쪽 캔버스 테두리로부터 캔버스 중간 선 아래1
이고Dugong
플러스10
의 폭을 갖는다.
및
- 멀리 에서
10
입니다 캔버스의 국경을 떠나 중간에 캔버스#DADFE1
의 단어Flappy
. #DADFE1
에있는Dugong
이라는 단어는 캔버스의 경계 인 오른쪽에서10
떨어져 있으며 캔버스의 중간에도 있습니다.
내 문제는 라인 (그들 양쪽 5px 플러스 텍스트 폭 스팬한다) 텍스트와 일치하지 않는 점이다. 대신 그들은 이것을한다.
는 자바 스크립트와 캔버스에 올 때 나는 '멍청한 놈'나처럼이 문제에 대한보다 분명한 답변이 있습니다 죄송합니다.
당신의 의견은 제가 글꼴 스타일 **을 선언하기 전에 ** ** 폭이 아닌 ** 테스트가 ** ** 효과가 있다는 것을 알게했습니다. 그리고 운 좋게, 그것은했다! 감사합니다. – Sennsei
@Senssei 당신을 생각 나게 해 주어서 기쁩니다. – Hydro