JCanvas:我如何获得图像的大小?
问题描述:
我已经绘制的图像是这样的: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
。
答
您可以使用下面的语句来获得高度和帆布图像的宽度
var imageWidth = $("canvas").width();
var imageHeight = $("canvas").height();
+0
这将返回canvas元素的计算宽度和高度,而不是图像的宽度和高度 – Kaiido
我不知道这个库,但打了一下他们的操场上,似乎可以下'load'检索事件参数,如果未设置宽度和高度选项,则在传递的参数的sWidth和sHeight属性下。听起来很奇怪,当你设置宽度和高度选项时,它会消失,但我可能不会进一步进入这个库;-) – Kaiido
Ps:这里是[我使用的游乐场]的链接(http://projects.calebevans.me/jcanvas /沙箱/?代码= Ly8gRnVuY3Rpb24gZm9yIGRyYXdpbmcgYW4gYXJjCmZ1bmN0aW9uIGFyYyhlKSB7CiAgY29uc29sZS5sb2coZS5zV2lkdGgsIGUuc0hlaWdodCk7CiAgJCgnY2FudmFzJykuZHJhd0FyYyh7CiAgICBzdHJva2VTdHlsZTogJyM2ZjknLAogICAgc3Ryb2tlV2lkdGg6IDQsCiAgICB4OiAxNTUsIHk6IDE1NSwKICAgIHJhZGl1czogNDAKICB9KTsKfQoKLy8gUnVuIHRoZSBhcmMoKSBmdW5jdGlvbiBhZnRlciB0aGUgaW1hZ2UgaGFzIGxvYWRlZAokKCdjYW52YXMnKS5kcmF3SW1hZ2UoewogIHNvdXJjZTogJ2ltYWdlcy9sYWR5YnVnLmpwZycsCiAgeDogMTUwLCB5OiAxNTAsCiAgbG9hZDogYXJjCn0pOw ==) – Kaiido
是的,你是对的。我必须等待图像加载完成,然后才能检索其属性。谢谢! – kalabalik