Javascript 画布默认设置以启用用户输入

Javascript 画布默认设置以启用用户输入,javascript,canvas,html5-canvas,Javascript,Canvas,Html5 Canvas,我正在构建一个IMG裁剪/重新调整大小/缩放工具,我希望能够将一些默认参数传递到drawImage()函数中,以防一些参数尚未定义 例如: 我收到重新调整尺寸的请求,可以输入宽度和高度: drawImage(this.loadedImg,0, 0, 0, 0, 0,0,this.imageWidth, this.imageHeight); 我在任何地方都找不到默认值。我尝试了false和0,但neighter成功了 有人有主意吗?我不确定我是否清楚你想要什么,所以我假设你想要drawImage

我正在构建一个IMG裁剪/重新调整大小/缩放工具,我希望能够将一些默认参数传递到drawImage()函数中,以防一些参数尚未定义

例如:

我收到重新调整尺寸的请求,可以输入宽度和高度:

drawImage(this.loadedImg,0, 0, 0, 0, 0,0,this.imageWidth, this.imageHeight);
我在任何地方都找不到默认值。我尝试了false和0,但neighter成功了


有人有主意吗?

我不确定我是否清楚你想要什么,所以我假设你想要
drawImage(source,sx,sy,sw,sh,dx,dy,dw,dh)
的参数的默认值,当你使用短版本
drawImage(source,dx,dy)
或更短的
drawImage(source,dx,dy,dw,dh)

如果一个
元素作为源,它就是
绘图图像(img,0,0,img.naturalWidth,img.naturalHeight,0,0,img.naturalWidth,img.naturalHeight)

在源为
元素的情况下,它是
绘图图像(vid,0,0,vid.videoWidth,vid.videoHeight,dx,dy,vid.videoWidth,vid.videoHeight)

对于任何其他源类型,它是
drawImage(源、0、0、source.width、source.height、0、0、dx、dy)

因此,我们可以制作以下表格:

drawImage(
   source: always inputed,
   sx: input || 0,
   sy: input || 0,
   sw: input || source.[natural | video]width,
   sh: input || source.[natural | video]height,
   dx: always inputed,
   dy: always inputed,
   dw: input || sw,
   dh: input || sh
)

更一般地说,您是在寻找默认函数参数吗?你可以看看。这就是我想要的,很抱歉我反应太晚了,也知道了你的正确答案,毕竟我昨天自己解决了这个问题。但餐桌的想法是值得赞赏的。