我正试图让图片填满我的画布。这是我正在尝试的代码:
var blueprint_background = new Image();
blueprint_background.src = 'images/blueprint_background.png';
var pattern = context.createPattern(blueprint_background, "repeat");
context.fillStyle = pattern;
context.fill();
问题是什么都没有出现。我能够做基本的context.fillRect(..)示例,但这给了我麻烦。
感谢。
答案 0 :(得分:10)
你必须等到图像加载,使用图像的onload属性来知道它何时加载。
var blueprint_background = new Image();
blueprint_background.src = 'images/blueprint_background.png';
blueprint_background.onload = function(){
var pattern = context.createPattern(this, "repeat");
context.fillStyle = pattern;
context.fill();
};
答案 1 :(得分:0)
Inside Worker class Image 未定义!
ReferenceError: Image is not defined
在这种情况下,我们可以执行以下操作:
const result = await fetch('./image.png');
const blob = await result.blob();
const image = await createImageBitmap(blob);
const pattern = canvasContext2D.createPattern(image, 'repeat');
然后简单地填充 OffscreenCanvasContext2D:
canvasContext2D.fillStyle = pattern;
canvasContext2D.fill();
参考文献: