2016-12-01 11 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'の下でそれを取得することができそうですwidthおよびheightオプションが設定されていない場合は、渡されたパラメータのsWidthおよびsHeightプロパティの下にあるeventパラメータ。あなたが幅と高さのオプションを設定すると消えて奇妙に聞こえますが、おそらくこのライブラリにはまだ行きません;-) – Kaiido

+0

Ps:私が使った[遊び場]へのリンクです(http://projects.calebevans.me/jcanvas /サンドボックス/?コード= Ly8gRnVuY3Rpb24gZm9yIGRyYXdpbmcgYW4gYXJjCmZ1bmN0aW9uIGFyYyhlKSB7CiAgY29uc29sZS5sb2coZS5zV2lkdGgsIGUuc0hlaWdodCk7CiAgJCgnY2FudmFzJykuZHJhd0FyYyh7CiAgICBzdHJva2VTdHlsZTogJyM2ZjknLAogICAgc3Ryb2tlV2lkdGg6IDQsCiAgICB4OiAxNTUsIHk6IDE1NSwKICAgIHJhZGl1czogNDAKICB9KTsKfQoKLy8gUnVuIHRoZSBhcmMoKSBmdW5jdGlvbiBhZnRlciB0aGUgaW1hZ2UgaGFzIGxvYWRlZAokKCdjYW52YXMnKS5kcmF3SW1hZ2UoewogIHNvdXJjZTogJ2ltYWdlcy9sYWR5YnVnLmpwZycsCiAgeDogMTUwLCB5OiAxNTAsCiAgbG9hZDogYXJjCn0pOw ==) – Kaiido

+0

はい、あなたは正しいです。そのプロパティを取得する前に、イメージのロードが完了するのを待たなければなりません。ありがとうございました! – kalabalik

答えて

0

あなたはキャンバスの画像の高さと幅

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

これは画像のものではなく、キャンバス要素の計算された幅と高さを返します – Kaiido

関連する問題