2012-09-18 4 views
0

캔버스에 Kinetic.js를 사용하여 캔버스에 이미지 세트를로드하는 방법과 한 번에 하나의 이미지를 동시에로드해야하는 모든 이미지를 캔버스에 한 번에 캔버스에 하나의 이미지로로드하는 방법. 다음 이미지를 클릭하면 이미지가 이동됩니다.키네틱 js

+0

서버에서로드하거나 (다음에 클릭 할 때만) 다음 이미지를 현재 이미지로 표시 하시겠습니까? 2 다른 것들과 2 개의 다른 접근법 – Ani

+0

는 현재 이미지 대신에 다음 이미지를 보여줍니다 ... 첫 번째 시나리오. – akhi

답변

0

KineticJS에서 이미지 바꾸기 (다른 이미지 대신 하나 보이기)는 다음과 같이 할 수 있습니다.

이미 배열 변수 imgs []에 업로드 된 2 개의 이미지가 있다고 가정 해 보겠습니다. 경우 당신이 그들을 처리하기 전에 이미지를로드하는 방법을 잘하지, 당신이 읽을 수있는 것이 here

말할 수 있습니다 :

var imgs = new Array(2); 
imgs[0] = "images/image1.png"; 
imgs[1] = "images/image2.png"; 


을 그리고 다음과 같이 표시 영역을 정의 할 수 있습니다 :

 

    var dispArea = new Kinetic.Image(
    { 

    image: imgs[0], 
    // You may specify the initial x,y position coordinates inside or set them later. 
    // Similarly for width, height, etc. 
    }); 
    dispArea.currIndex = 0; //This sets up the index of currently shown image 
    displayLayer.add(dispArea); //Assuming your layer is named as displayLayer 

그래서 귀하의 다음 버튼의"onClick" "changeImage"함수를 호출하는 이벤트은 다음과 같이 정의됩니다.

 

    function changeImage() 
    { 
    // Increment the index, make it zero if it goes over the total images 
    dispArea.currIndex = (dispArea.currIndex + 1)%imgs.length; 

    dispArea.setImage(imgs[dispArea.currIndex]); 

    displayLayer.draw(); 
    } 

+0

대단히 감사합니다. 이것은 내가 정확히 찾고있는 것입니다. – akhi

+0

나는 kinetic js에서 또 다른 질문을한다. 그럴 수있어? – akhi

+0

물론, StackOverflow에 다른 질문을 넣어 링크를 통해 나를 보내주십시오. 대답이 당신을 위해 일한다면, 당신은 그것을 받아 들일 수도 있고, 당신의 질문을 볼 수도있는 다른 사람들에게 도움이 될 것입니다. – Ani