我有一个表单,允许用户上传图像。缩放图像以适应画布
加载图像后,我们会对其进行一些缩放以减少其文件大小,然后再将其传回服务器。
要做到这一点,我们把它放在画布上并在那里操作。
此代码将呈现缩放图像在画布上,随着尺寸的画布320×240像素:
ctx.drawImage(img, 0, 0, canvas.width, canvas.height)
...其中canvas.width和canvas.height是图像的高度和宽度XA缩放基于原始图像大小的因子。
但是当我去使用的代码:
ctx.drawImage(img, 0, 0, canvas.width, canvas.height, 0, 0, canvas.width, canvas.height
......我只在画布上获得图像的一部分,在这种情况下,左上角。尽管实际图像尺寸大于320x240的画布大小,我仍然需要“缩放”整个图像以适应画布。
因此,对于上面的代码,宽度和高度是1142x856,因为这是最终的图像大小。我需要保持该大小,以便在提交表单时传递给服务器,但只需要在用户的画布上显示较小的视图。
我在这里错过了什么?任何人都可以指出我正确的方向吗?
非常感谢提前。
完美。非常感谢。 :) – dradd
这是完美的+1。快速点 - 你在'drawImage()'函数中缺少右括号。用我的强迫症一点点;) – Frits
@Frits大声笑,我知道你的意思。增加:) – K3N