最佳答案
我有一个表单,允许用户上传图片。
一旦加载了映像,我们就对其执行一些缩放操作,以便在将其传递回服务器之前减少其文件大小。
要做到这一点,我们把它放在画布上,并在那里操作它。
这段代码将在画布上呈现缩放后的图像,画布大小为320x240px:
ctx.drawImage(img, 0, 0, canvas.width, canvas.height)
... where canvas.width and canvas.height is the image height and width x a scaling factor based on the size of the original image.
但当我使用密码时:
ctx.drawImage(img, 0, 0, canvas.width, canvas.height, 0, 0, canvas.width, canvas.height
... 我只能看到画布上的一部分,这里是左上角。我需要整个图像’缩放’适合在画布上,尽管实际的图像大小比320x240画布大小。
因此,对于上面的代码,宽度和高度是1142x856,因为这是最终的图像大小。我需要保持这个大小,以便在表单提交时将 beck 传递给服务器,但是只希望在用户的画布中出现一个较小的视图。
我错过了什么? 有人能告诉我正确的方向吗?
Many thanks in advance.