缩放图像以适合画布
2022-08-30 05:36:04
我有一个允许用户上传图像的表单。
加载图像后,我们会对其进行一些缩放,以减小其文件大小,然后再将其传递回服务器。
为此,我们将其放在画布上并在那里进行操作。
此代码将在画布上呈现缩放后的图像,画布的大小为 320 x 240px:
ctx.drawImage(img, 0, 0, canvas.width, canvas.height)
...其中 canvas.width 和 canvas.height 是图像高度和宽度 x 基于原始图像大小的缩放因子。
但是当我去使用代码时:
ctx.drawImage(img, 0, 0, canvas.width, canvas.height, 0, 0, canvas.width, canvas.height
...我只在画布上获得图像的一部分,在本例中为左上角。我需要“缩放”整个图像以适合画布,尽管实际图像大小大于320x240画布大小。
因此,对于上面的代码,宽度和高度为1142x856,因为这是最终的图像大小。我需要保持该大小,以便在提交表单时将 beck 传递给服务器,但只希望在画布中为用户显示较小的视图。
我在这里错过了什么?任何人都可以给我指出正确的方向吗?
提前非常感谢。