Javascript 用img元素替换HTML5画布元素
要将canvas元素替换为image元素 已尝试使用jquery将画布转换为图像。但显示的是空图像,没有任何图像Javascript 用img元素替换HTML5画布元素,javascript,jquery,html5-canvas,Javascript,Jquery,Html5 Canvas,要将canvas元素替换为image元素 已尝试使用jquery将画布转换为图像。但显示的是空图像,没有任何图像 <script> function loadImages(sources, callback) { var images = {}; var loadedImages = 0; var numImages = 0; // get num of sources for(var s
<script>
function loadImages(sources, callback) {
var images = {};
var loadedImages = 0;
var numImages = 0;
// get num of sources
for(var src in sources) {
numImages++;
}
for(var src in sources) {
images[src] = new Image();
images[src].onload = function() {
if(++loadedImages >= numImages) {
callback(images);
}
};
images[src].src = sources[src];
}
}
var canvas = document.getElementById('myCanvas');
var context = canvas.getContext('2d');
var sources = {
image1: 'Group 1.png',
image2: 'Rectangle 5.png',
image3: 'Motif_2.png',
image4: 'body_design_2.png'
};
loadImages(sources, function(images) {
context.drawImage(images.image1, 0, 0, 484, 984);
context.drawImage(images.image2, 42, 0, 400, 747);
context.drawImage(images.image3, 0, 0, 484, 984);
context.drawImage(images.image4, 42, 0, 400, 747);
});
</script>
<script>
$(document).ready( function(e)
{
$('canvas').each( function(e)
{
var image = new Image();
image.src = this.toDataURL("image/png");
$(this).replaceWith(image);
});
});
</script>
函数loadImages(源、回调){
var图像={};
var loadedImages=0;
var numImages=0;
//获取源的数量
用于(源中的var src){
numImages++;
}
用于(源中的var src){
图像[src]=新图像();
图像[src].onload=function(){
如果(++LoadeImage>=numImages){
回调(图像);
}
};
图像[src].src=源[src];
}
}
var canvas=document.getElementById('myCanvas');
var context=canvas.getContext('2d');
风险值来源={
图1:'group1.png',
图2:'矩形5.png',
图3:‘Motif_2.png’,
图4:“body_design_2.png”
};
加载图像(源、函数(图像){
context.drawImage(images.image1,0,048484);
上下文.drawImage(images.image2,42,0400747);
上下文.drawImage(images.image3,0,0484984);
上下文.drawImage(images.image4,42,0400747);
});
$(文档).ready(函数(e)
{
$('canvas')。每个(函数(e)
{
var image=新图像();
image.src=this.toDataURL(“image/png”);
$(此).replaceWith(图像);
});
});
将canvas元素替换为image元素。有关此问题的任何解决方案
var can = document.getElementById('canvas1');
var ctx = can.getContext('2d');
ctx.fillRect(50,50,50,50);
var img = new Image();
img.src = can.toDataURL();
document.body.appendChild(img);
在您的情况下,使用画布似乎是多余的,可能重复。
images
变量中已经有图像元素。因此,您需要的只是将它们显式地插入DOM中。这里不需要画布操作。要用多个图像而不是颜色填充画布。