2012-10-11 3 views
2

캔버스에 이미지를 그린 다음 sketch.js로 이미지를 스케치 할 수 있습니다. 지금 상황은 다음과 같습니다캔버스에 이미지와 스케치를 함께 그리는 방법

1.the image has been drawn on the canvas successfully 
    2. but when my mouse over the canvas, then image disappeared, and the canvas shows empty 
    3. when I dragged the mouse, some sketch shows on the empty canvas(the sketch looks correct) 

그래서, 나는 두 함수를 잘했습니다,하지만 난 사이에있는 부분에 대한 혼란 스러워요. 캔버스에 이미지가있는 스케치를 그릴 수 있기를 바랍니다.

index.html을 :

<canvas id="mysketch" width="578" height="400" style="margin: 0px; "></canvas> 

canvas.js : 여기 내 코드입니다

var mysketch = jQuery("#mysketch"); 

// draw the captured image to canvas 
    var displayImage = function() { 
    var context = mysketch.get(0).getContext("2d");  
     var image = new Image(); 

     image.onload = function() { 
      context.drawImage(image, 0, 0); 
     } 

    // prepend the required image info again 
     image.src = dataURL; 

     // call sketch.js to draw sketch on the canvas 
    mysketch.sketch({defaultColor: "#ff0"}); 

    } 
+0

'hover'이벤트에 대한 일부 CSS 또는 다른 기능이 없습니까? 덕분에 – Hank

답변

1

나는, 스케치 방법
sketch.js에 전화에 캔버스를 청소하고 있다고 생각 처음에는 그 위에 무언가를 그릴 수 있습니다.
링크 here에서 볼 수 있듯이 세 번째 예 (즉, 도구 예제)에서 이미지는 drawImage 메소드로 그려지지 않습니다.
실제로 캔버스 배경을 배경으로 항상 그 위에 그려 놓을 캔버스의 배경입니다.

그래서 당신이 할 수있는 것입니다 :

단지 같은 너비, 높이와 동일에 캔버스 뒤에 새로운 캔버스를 배경으로 이미지를 설정 즉, 예에서와 같이

을 같은 일을 또는 확인 중 위치를 확인하고 이미지를 그릴 수 있습니다. 그리고 두 번째 스케치 일을해라.

+0

. 그러나 나는 그것이 효과가 있다고 생각하지 않습니다 - 나는 이미지를 먼저 보여주고 그 위에 스케치를 보여주고 싶습니다. 두 개의 캔버스를 사용하면 맨 위에 하나만 머물 수 있습니다. 두 번째 캔버스에 대한 – sophia

+0

은 백그라운드 속성을 설정하지 않습니다. 이렇게하면 투명하게됩니다. 또는 먼저 캔버스에 이미지를 그릴 수 있으며 사용자가 그 위에 스케치를 그릴 수 있습니다.하지만이 중에서 캔버스를 지우지 않는 것이 가장 중요합니다. 그러면 이미지가 사라집니다. – Vijay

+0

맞습니다. sketch.js가 먼저 캔버스를 지우고 수정했습니다. 하나의 캔버스 만 허용하면 괜찮습니다. 다시 한 번 감사드립니다! – sophia

관련 문제