如何将填充样式(纹理)设置为 canvas 中的现有数据 URI
How to set a fill style (texture) to an existing data URI in canvas
我有一个现有的 PNG 数据 URI,例如:
let dataURI = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMAQMAAABsu86kAAAABlBMVEUAAAD+qAB849H0AAAAAXRSTlMAQObYZgAAAAxJREFUCNdjSEsgiACnWAlJEDYe/gAAAABJRU5ErkJggg==";
我想在我的 canvas 中使用它作为纹理,我正在对其进行一些绘制操作。我用 canvas.fillStyle
尝试了一些方法,但我没有看到它起作用。颜色效果很好。
在绘图操作中将dataURI用作纹理的方法是什么?
您需要先将其作为图像加载(一定要处理异步方面),所以基本上将图像设置为模式:
var img = new Image;
img.onload = imageIsReady;
img.src = "data: ....."; // full uri here
function imageIsReady() {
var pattern = ctx.createPattern(img, "repeat");
ctx.fillStyle = pattern;
// fill, etc.
}
我有一个现有的 PNG 数据 URI,例如:
let dataURI = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMAQMAAABsu86kAAAABlBMVEUAAAD+qAB849H0AAAAAXRSTlMAQObYZgAAAAxJREFUCNdjSEsgiACnWAlJEDYe/gAAAABJRU5ErkJggg==";
我想在我的 canvas 中使用它作为纹理,我正在对其进行一些绘制操作。我用 canvas.fillStyle
尝试了一些方法,但我没有看到它起作用。颜色效果很好。
在绘图操作中将dataURI用作纹理的方法是什么?
您需要先将其作为图像加载(一定要处理异步方面),所以基本上将图像设置为模式:
var img = new Image;
img.onload = imageIsReady;
img.src = "data: ....."; // full uri here
function imageIsReady() {
var pattern = ctx.createPattern(img, "repeat");
ctx.fillStyle = pattern;
// fill, etc.
}