canvas填充图片时,如果图片大小和画布大小不一样,图片像素大于画布像素时,填充图片会使用图片原尺寸,这时展示在画布上的是图片的一部分,解决这种方法:
用drawImage方法先把图片缩放成需要的像素大小,再使用createPattern方法填充缩放后的图片
代码示例:
let img = new Image();
img.src = require('../../resource/HomePageAnimation/img/img_befor_2.png');
img.onload=function(e){
// 先把图片缩放成画布比例的大小,否则直接设置图片宽高图片展示不完整
ctx.drawImage(img,0,0,oCanvas.width,oCanvas.height);
// 再将图片填充到画布
let pattern=ctx.createPattern(img,'no-repeat')
ctx.fillStyle=pattern;
}