2016-12-01 89 views
0

我已經繪製的圖像是這樣的:JCanvas:我如何獲得圖像的大小?

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

的圖片顯示,因爲它應該。它比屏幕更大,我想繪製一個更小的矩形(按0.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屬性下。聽起來很奇怪,當你設置寬度和高度選項時,它會消失,但我可能不會進一步進入這個庫;-) – Kaiido

+0

Ps:這裏是[我使用的遊樂場]的鏈接(http://projects.calebevans.me/jcanvas /沙箱/?代碼= Ly8gRnVuY3Rpb24gZm9yIGRyYXdpbmcgYW4gYXJjCmZ1bmN0aW9uIGFyYyhlKSB7CiAgY29uc29sZS5sb2coZS5zV2lkdGgsIGUuc0hlaWdodCk7CiAgJCgnY2FudmFzJykuZHJhd0FyYyh7CiAgICBzdHJva2VTdHlsZTogJyM2ZjknLAogICAgc3Ryb2tlV2lkdGg6IDQsCiAgICB4OiAxNTUsIHk6IDE1NSwKICAgIHJhZGl1czogNDAKICB9KTsKfQoKLy8gUnVuIHRoZSBhcmMoKSBmdW5jdGlvbiBhZnRlciB0aGUgaW1hZ2UgaGFzIGxvYWRlZAokKCdjYW52YXMnKS5kcmF3SW1hZ2UoewogIHNvdXJjZTogJ2ltYWdlcy9sYWR5YnVnLmpwZycsCiAgeDogMTUwLCB5OiAxNTAsCiAgbG9hZDogYXJjCn0pOw ==) – Kaiido

+0

是的,你是對的。我必須等待圖像加載完成,然後才能檢索其屬性。謝謝! – kalabalik

回答

0

您可以使用下面的語句來獲得高度和帆布圖像的寬度

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

這將返回canvas元素的計算寬度和高度,而不是圖像的寬度和高度 – Kaiido