2016-12-01 8 views
0

는이 같은 이미지를 그린 : 예상대로JCanvas : 이미지 크기를 얻으려면 어떻게해야합니까?

$("canvas").drawImage({ 
     x: 0, 
     y: 0, 
     source: src, 
     draggable: true, 
     layer: true, 
     name: "image", 
     fromCenter: false, 
    } 
}); 

이미지를 나타낸다. 그것은 스크린보다 크고, 원본 이미지에 비례하는 측면이 훨씬 작은 rect (.05 배만큼)을 그려야합니다. 위 이미지의 너비와 높이를 검색하려면 어떻게합니까?

내가 시도 :

var imageWidth = $("canvas").getLayer("image").width; 
var imageHeight = $("canvas").getLayer("image").height; 

그러나 alert($("canvas").getLayer("image").width); 반환 null합니다. 나는 또한 시도 :

var imageWidth = $("canvas").getCanvasImage.width; 
var imageHeight = $("canvas").getCanvasImage.height; 

그러나 alert($("canvas").getCanvasImage.width); 반환 undefined합니다.

당신은 높이와 캔버스 이미지의 폭을 얻기 위해 문 아래에 사용할 수
+1

나는이 라이브러리를 모르겠지만, 자신의 놀이터와 비트를 연주, 당신이'load' 아래를 검색 할 수 있습니다 보인다 전달 된 매개 변수의 sWidth 및 sHeight 속성에서 width 및 height 옵션이 설정되지 않은 경우 event 매개 변수입니다. 이상하게 들릴지 모르지만 너비와 높이 옵션을 설정할 때 사라집니다. 아마도이 라이브러리에 더 이상 들어 가지 않습니다 ;-) – Kaiido

+0

Ps : 여기 [내가 사용한 놀이터] 링크가 있습니다. (http://projects.calebevans.me/jcanvas/샌드 박스 /? 코드 = Ly8gRnVuY3Rpb24gZm9yIGRyYXdpbmcgYW4gYXJjCmZ1bmN0aW9uIGFyYyhlKSB7CiAgY29uc29sZS5sb2coZS5zV2lkdGgsIGUuc0hlaWdodCk7CiAgJCgnY2FudmFzJykuZHJhd0FyYyh7CiAgICBzdHJva2VTdHlsZTogJyM2ZjknLAogICAgc3Ryb2tlV2lkdGg6IDQsCiAgICB4OiAxNTUsIHk6IDE1NSwKICAgIHJhZGl1czogNDAKICB9KTsKfQoKLy8gUnVuIHRoZSBhcmMoKSBmdW5jdGlvbiBhZnRlciB0aGUgaW1hZ2UgaGFzIGxvYWRlZAokKCdjYW52YXMnKS5kcmF3SW1hZ2UoewogIHNvdXJjZTogJ2ltYWdlcy9sYWR5YnVnLmpwZycsCiAgeDogMTUwLCB5OiAxNTAsCiAgbG9hZDogYXJjCn0pOw ==) – Kaiido

+0

네, 맞아요. 이미지의 로딩이 끝나기를 기다린 후에 속성을 검색 할 수 있습니다. 고맙습니다! – kalabalik

답변

0

var imageWidth = $("canvas").width(); 
var imageHeight = $("canvas").height(); 
+0

이렇게하면 이미지의 너비와 높이가 아닌 캔버스 요소의 계산 된 너비와 높이가 반환됩니다. – Kaiido