Canvas 的已创建图像尚未附加到 html 容器
Created Image of Canvas haven't get appended to html container
我有一个canvas。现在我想制作 canvas 的图像。我已经开发了这个功能。我有一张带有正确 src 属性的图像。但是,如果我想将此图像元素附加到 html-容器,它就不起作用。没有任何反应。
我不知道为什么。 html-容器可用,图像正确。
这是一些代码:
创建图片的函数
function createPicture(canvas, container){
let dataURL = canvas.toDataURL({
width: canvas.width,
height: canvas.height,
left: 0,
top: 0,
format: 'jpeg',
});
let image = new Image();
image.setAttribute("src", dataURL);
container.append(image);
}
调用这个函数
createPicture(canvas, $("#test"));
控制台中的图像:
<img src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD…">
您的代码对我来说工作正常,请参阅下面的示例
function createPicture(canvas, container){
let dataURL = canvas.toDataURL({
width: canvas.width,
height: canvas.height,
left: 0, top: 0,
format: 'jpeg',
});
let image = new Image();
image.setAttribute("src", dataURL);
container.append(image);
}
let co = document.getElementById("container")
let ca = document.getElementById("canvas")
var ctx = ca.getContext("2d");
ctx.rect(10, 10, 80, 60);
ctx.arc(50, 50, 30, 0, 4);
ctx.stroke();
createPicture(ca, co)
canvas {
border: 3px solid blue;
}
div {
border-color: red;
border-style: solid;
width: 100px;
height: 100px;
}
<canvas id="canvas" width=100 height=100></canvas>
<div id="container"></div>
我唯一能想到的是你在调用 createPicture 之后正在对你的 canvas 做一些事情并期望它在那里,如果你仍然 运行 遇到问题我会建议你创建一个重现您的问题的代码片段,然后 post 在此处
检查您的开发控制台,确保您看到图像元素:
如果你没有看到它,那么问题一定是容器
我有一个canvas。现在我想制作 canvas 的图像。我已经开发了这个功能。我有一张带有正确 src 属性的图像。但是,如果我想将此图像元素附加到 html-容器,它就不起作用。没有任何反应。
我不知道为什么。 html-容器可用,图像正确。
这是一些代码:
创建图片的函数
function createPicture(canvas, container){
let dataURL = canvas.toDataURL({
width: canvas.width,
height: canvas.height,
left: 0,
top: 0,
format: 'jpeg',
});
let image = new Image();
image.setAttribute("src", dataURL);
container.append(image);
}
调用这个函数
createPicture(canvas, $("#test"));
控制台中的图像:
<img src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD…">
您的代码对我来说工作正常,请参阅下面的示例
function createPicture(canvas, container){
let dataURL = canvas.toDataURL({
width: canvas.width,
height: canvas.height,
left: 0, top: 0,
format: 'jpeg',
});
let image = new Image();
image.setAttribute("src", dataURL);
container.append(image);
}
let co = document.getElementById("container")
let ca = document.getElementById("canvas")
var ctx = ca.getContext("2d");
ctx.rect(10, 10, 80, 60);
ctx.arc(50, 50, 30, 0, 4);
ctx.stroke();
createPicture(ca, co)
canvas {
border: 3px solid blue;
}
div {
border-color: red;
border-style: solid;
width: 100px;
height: 100px;
}
<canvas id="canvas" width=100 height=100></canvas>
<div id="container"></div>
我唯一能想到的是你在调用 createPicture 之后正在对你的 canvas 做一些事情并期望它在那里,如果你仍然 运行 遇到问题我会建议你创建一个重现您的问题的代码片段,然后 post 在此处
检查您的开发控制台,确保您看到图像元素:
如果你没有看到它,那么问题一定是容器