2012-03-07 6 views
2

캔버스에 이미 그린 이미지의 크기를 조정하는 방법은 무엇입니까?html5 캔버스 이미지 크기 조정

var drawBall = function(mouseX, mouseY){ 
    ballimg = new Image(); 
    ballimg.onload = function(){ 
     ctx.drawImage(ballimg, mouseX-25, mouseY-25); 
     ballimg.height = 5; 
     throwed = true; 

    }; 
    ballimg.src = "ball2.png"; 
}; 

답변

3

당신은 캔버스에 그려진 객체의 크기를 조정할 수 없습니다

나는 (이미지가 표시되고 있지만, 크기를 조정하지 않습니다) 행운과 함께이 시도.

해야 할 일은 개체를 다시 그리는 것입니다.

오래된 공이있는 곳의 문맥을 지우십시오. ctx.clearRect(x,y,x2,y2) 새 크기로 새로운 공을 그립니다.

캔버스에서 사물에 애니메이션을 적용하려는 경우. 그렇게하는 것은 모든 개체를 추적하고 모든 프레임에 대해 캔버스 (모든 개체)를 다시 그리는 것입니다.

+0

다시 그리는 속도를 어떻게 높일 수 있습니까? – dario111cro

+1

에 문의하십시오. 매초마다 다시 그리기를 원한다면 setInterval 함수 http://www.w3schools.com/jsref/met_win_setinterval.asp를 사용하거나 수동으로 mouseclick 이벤트 또는 무언가에 대한 다시 그리기를 실행할 수 있습니다 – 1b0t

+0

또한 setInterval보다 requestAnimationFrame을 사용하는 것이 가장 좋습니다 더 나은 성능을 위해. 폴 릴 쉬 (paul irish)가 만든 polyfill이 있습니다. http://www.paulirish.com/2011/requestanimationframe-for-smart-animating/ –

관련 문제