Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript drawImage画布方法在';img&x27;元素有机会完全加载_Javascript_Html5 Canvas - Fatal编程技术网

Javascript drawImage画布方法在';img&x27;元素有机会完全加载

Javascript drawImage画布方法在';img&x27;元素有机会完全加载,javascript,html5-canvas,Javascript,Html5 Canvas,drawImage canvas方法在'img'元素有机会完全加载之前运行,因此我需要您的帮助来解决此问题 <canvas id="drawImage" width="900" height="900" style=""> </canvas> <img id="img" src="images/fb.png"/> <script type="text/javascript"> var canvas = document.getEle

drawImage canvas方法在'img'元素有机会完全加载之前运行,因此我需要您的帮助来解决此问题

<canvas id="drawImage" width="900" height="900" style="">  </canvas>
<img id="img" src="images/fb.png"/>

<script type="text/javascript">

    var canvas  = document.getElementById("drawImage");
    var cont = canvas.getContext("2d");
    var img = document.getElementById("img");
    cont.drawImage(img , 100 , 100);

</script>

var canvas=document.getElementById(“drawImage”);
var cont=canvas.getContext(“2d”);
var img=document.getElementById(“img”);
连续绘图图像(img,100100);

我尝试了这段代码来绘制图像,但它没有绘制任何东西,正如我所知,您无法在画布中放置任何DOM元素。但你们可以试着像这样把图像放在画布上

var example = document.getElementById("example"),
ctx = example.getContext('2d'), // context
pic = new Image();              // creating new image
pic.src = 'http://habrahabr.ru/i/nocopypast.png'; //source
pic.onload = function() { // Waiting till load
    ctx.drawImage(pic, 0, 0);
} // Draw image when it's loaded

正如我所知,您不能在画布中放置任何DOM元素。但你们可以试着像这样把图像放在画布上

var example = document.getElementById("example"),
ctx = example.getContext('2d'), // context
pic = new Image();              // creating new image
pic.src = 'http://habrahabr.ru/i/nocopypast.png'; //source
pic.onload = function() { // Waiting till load
    ctx.drawImage(pic, 0, 0);
} // Draw image when it's loaded

正如我所知,您不能在画布中放置任何DOM元素。但你们可以试着像这样把图像放在画布上

var example = document.getElementById("example"),
ctx = example.getContext('2d'), // context
pic = new Image();              // creating new image
pic.src = 'http://habrahabr.ru/i/nocopypast.png'; //source
pic.onload = function() { // Waiting till load
    ctx.drawImage(pic, 0, 0);
} // Draw image when it's loaded

正如我所知,您不能在画布中放置任何DOM元素。但你们可以试着像这样把图像放在画布上

var example = document.getElementById("example"),
ctx = example.getContext('2d'), // context
pic = new Image();              // creating new image
pic.src = 'http://habrahabr.ru/i/nocopypast.png'; //source
pic.onload = function() { // Waiting till load
    ctx.drawImage(pic, 0, 0);
} // Draw image when it's loaded

首先,将“img”元素绘制到画布中的代码是正确的

一个问题是,代码在“img”元素有机会完全加载之前运行

因此,必须告诉浏览器在页面元素完全加载之前不要运行javascript

您可以通过在
窗口中包装javascript来识别浏览器。onload
如下所示:

<script>
window.onload=(function(){

    var canvas  = document.getElementById("drawImage");
    var cont = canvas.getContext("2d");
    var img = document.getElementById("img");
    cont.drawImage(img , 100 , 100);

}); // end $(function(){});
</script>

window.onload=(函数(){
var canvas=document.getElementById(“drawImage”);
var cont=canvas.getContext(“2d”);
var img=document.getElementById(“img”);
连续绘图图像(img,100100);
}); // end$(函数(){});

注意:Html画布设计为能够读取img元素中的像素。Canvas不能对其他Canvas元素执行相同的操作(您在问题中提到了一个div)。有一个插件脚本可以将html转换为画布图形:

首先,将“img”元素绘制到画布的代码是正确的

一个问题是,代码在“img”元素有机会完全加载之前运行

因此,必须告诉浏览器在页面元素完全加载之前不要运行javascript

您可以通过在
窗口中包装javascript来识别浏览器。onload
如下所示:

<script>
window.onload=(function(){

    var canvas  = document.getElementById("drawImage");
    var cont = canvas.getContext("2d");
    var img = document.getElementById("img");
    cont.drawImage(img , 100 , 100);

}); // end $(function(){});
</script>

window.onload=(函数(){
var canvas=document.getElementById(“drawImage”);
var cont=canvas.getContext(“2d”);
var img=document.getElementById(“img”);
连续绘图图像(img,100100);
}); // end$(函数(){});

注意:Html画布设计为能够读取img元素中的像素。Canvas不能对其他Canvas元素执行相同的操作(您在问题中提到了一个div)。有一个插件脚本可以将html转换为画布图形:

首先,将“img”元素绘制到画布的代码是正确的

一个问题是,代码在“img”元素有机会完全加载之前运行

因此,必须告诉浏览器在页面元素完全加载之前不要运行javascript

您可以通过在
窗口中包装javascript来识别浏览器。onload
如下所示:

<script>
window.onload=(function(){

    var canvas  = document.getElementById("drawImage");
    var cont = canvas.getContext("2d");
    var img = document.getElementById("img");
    cont.drawImage(img , 100 , 100);

}); // end $(function(){});
</script>

window.onload=(函数(){
var canvas=document.getElementById(“drawImage”);
var cont=canvas.getContext(“2d”);
var img=document.getElementById(“img”);
连续绘图图像(img,100100);
}); // end$(函数(){});

注意:Html画布设计为能够读取img元素中的像素。Canvas不能对其他Canvas元素执行相同的操作(您在问题中提到了一个div)。有一个插件脚本可以将html转换为画布图形:

首先,将“img”元素绘制到画布的代码是正确的

一个问题是,代码在“img”元素有机会完全加载之前运行

因此,必须告诉浏览器在页面元素完全加载之前不要运行javascript

您可以通过在
窗口中包装javascript来识别浏览器。onload
如下所示:

<script>
window.onload=(function(){

    var canvas  = document.getElementById("drawImage");
    var cont = canvas.getContext("2d");
    var img = document.getElementById("img");
    cont.drawImage(img , 100 , 100);

}); // end $(function(){});
</script>

window.onload=(函数(){
var canvas=document.getElementById(“drawImage”);
var cont=canvas.getContext(“2d”);
var img=document.getElementById(“img”);
连续绘图图像(img,100100);
}); // end$(函数(){});

注意:Html画布设计为能够读取img元素中的像素。Canvas不能对其他Canvas元素执行相同的操作(您在问题中提到了一个div)。有一个插件脚本可以将html转换为画布图形:

您尝试过什么吗?如果您确实向我们展示了您的代码,并告诉我们哪些代码不起作用。如果不是的话,你应该用谷歌搜索一下,这里有很多例子。@Daanvn这是我的代码。你试过什么了吗?如果您确实向我们展示了您的代码,并告诉我们哪些代码不起作用。如果不是的话,你应该用谷歌搜索一下,这里有很多例子。@Daanvn这是我的代码。你试过什么了吗?如果您确实向我们展示了您的代码,并告诉我们哪些代码不起作用。如果不是的话,你应该用谷歌搜索一下,这里有很多例子。@Daanvn这是我的代码。你试过什么了吗?如果您确实向我们展示了您的代码,并告诉我们哪些代码不起作用。如果不是的话,你应该用谷歌搜索一下,这里有很多例子。@Daanvn这是我的代码。