캔버스 태그의 크기는 모두 픽셀 단위입니까?캔버스 태그의 크기는 모두 픽셀 단위입니까?
내가 이해하기 때문에 묻습니다.
하지만 수학이 망가 졌거나 여기서 뭔가 이해하지 못하고 있습니다.
저는 주로 파이썬을 해왔고 Java Scripting으로 뛰어 들었습니다.
만약 내가 바보 같은 짓을하고 있다면 알려줘.
필자가 쓰고있는 게임에서, 나는 완만 한 그라디언트를 원했다.
나는 다음이 : 나 여기에
function testDraw (thecontext)
{
var myblue = 255;
thecontext.save(); // Save All Settings (Before this Function was called)
for (var i = 0; i < 480; i = i + 10) {
if (myblue.toString(16).length == 1)
{
thecontext.fillStyle = "#00000" + myblue.toString(16);
} else {
thecontext.fillStyle = "#0000" + myblue.toString(16);
}
thecontext.fillRect(0, i, 640, 10);
myblue = myblue - 2;
};
thecontext.restore(); // Restore Settings to Save Point (Removing Styles, etc...)
}
function main()
{
var targetcontext = document.getElementById(“main”).getContext("2d");
testDraw(targetcontext);
}
JavaScript (Shortened)
CSS
@media screen {
body { font-size: 12pt }
/* Game Rendering Space */
canvas {
width: 640px;
height: 480px;
border-style: solid;
border-width: 1px;
}
}
<canvas id="heir"></canvas>
HTML
그래서 나는에 코드를 변경합니다
function testDraw (thecontext)
{
var myblue = 255;
thecontext.save(); // Save All Settings (Before this Function was called)
for (var i = 0; i < 16; i++) {
if (myblue.toString(16).length == 1)
{
thecontext.fillStyle = "#00000" + myblue.toString(16);
} else {
thecontext.fillStyle = "#0000" + myblue.toString(16);
}
thecontext.fillRect(0, (i * 10), 640, 10);
myblue = myblue - 10;
};
thecontext.restore(); // Restore Settings to Save Point (Removing Styles, etc...)
}
그리고 비교를 위해 진정한 32 픽셀 높이 결과를 얻을. 첫 번째 코드 스 니펫이 캔버스의 보이지 않는 부분에 파란색 렌더링 음영을 가지고 있다는 것 외에도 32 픽셀을 측정하고 있습니다. 나는 파이어 폭스에서 그것을 검사하면 나는 그것이 640 × 480
를보고 크롬에서 캔버스 태그를 검사하면 다시 원래 자바 코드에 이제
...
그것은 640 × 480
보고 하지만! Fire Fox는 원래 코드를 300 x 150 (10의 15 행) 인 png로 내 보냅니다. 일부 640x480으로 설정되는 대신 CSS로 640x450 크기를 조정하는 방법이 있습니까?
왜, 어떻게? O_o 혼란 스러웠습니다 ...
참고 기본값 때문이다. – Ms2ger
ms2ger 감사합니다. – William
그래서 CSS가 실제로 캔버스를 640x480으로 늘리고 크기를 조정하지 않는 것 같습니다. 나는 CSS를 통해 모든 측정 및 배치 작업을하는 데 익숙합니다. 직접 설정하려고하지 않았습니다. 나는 이것을 시험 할 것이고 그 경우인지 알려줄 것이다.^_^ –