Javascript 我可以在画布元素中更改图像大小吗?

Javascript 我可以在画布元素中更改图像大小吗?,javascript,html,image,canvas,Javascript,Html,Image,Canvas,我想在画布元素中有一个图像。画布将具有静态大小(例如800x600),但图像可以更大或更小。因此,如果图像较小,图像周围会有白色区域,如果图像较大,图像将不适合画布,因此图像的某些部分将不可见。我想问的是以下问题。在画布上渲染图像后,是否可以调整图像大小以适合画布(例如,在用户输入后) html 第二个拉伸图像以适合画布。调用drawImage(通过编辑image.width和image.height)之前是否可以拉伸图像?我见过一些编辑软件,可以在图像上缩放,画布保持静态,而不改变其大小。不正

我想在画布元素中有一个图像。画布将具有静态大小(例如800x600),但
图像可以更大或更小。因此,如果图像较小,图像周围会有白色区域,如果图像较大,图像将不适合画布,因此图像的某些部分将不可见。我想问的是以下问题。在画布上渲染图像后,是否可以调整图像大小以适合画布(例如,在用户输入后)

html


第二个拉伸图像以适合画布。调用
drawImage
(通过编辑
image.width
image.height
)之前是否可以拉伸图像?我见过一些编辑软件,可以在图像上缩放,画布保持静态,而不改变其大小。

不正确:

image.width = image.width*2;
image.height = image.height * 2;
context.drawImage(image, 0, 0);
context.drawImage(image, 0, 0, image.width*2, image.height * 2);
因为图像的
宽度
高度
属性是只读的

正确:

image.width = image.width*2;
image.height = image.height * 2;
context.drawImage(image, 0, 0);
context.drawImage(image, 0, 0, image.width*2, image.height * 2);
下面是另一种独立于纵横比使图像适合画布的方法: