Canvas 实现 background cover效果(图片裁剪)
上回我们实现了 background 的效果,但是我们的代码只能达到一个填充缩放的效果,在不同的窗口大小,会导致图片的变形。如果是 background:cover
的效果则相当理想,它相当于需要我们把大的那一边居中对齐。
这里我们用到了使用图像 Using images 中的切片示例,简单的展示了如何处理:
drawImage(image, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight)
sx / sy / sWidth / sHeight 是对原图的操作,对于切下来的图片,dx / dy / dWidth / dHeight 是切好的图像对于画布的相对操作。