javascript - 如何在页面上没有图像的情况下在 HTML5 Canvas 上使用图像?

标签 javascript html image canvas html5-canvas

关于W3 Schools HTML5 Canvas Image Page , 他们使用 <img>在他们加载 Canvas 之前在页面上标记。他们的代码如下。

<p>Image to use:</p>
<img id="scream" width="220" height="277" src="img_the_scream.jpg" alt="The Scream">

<p>Canvas:</p>
<canvas id="myCanvas" width="240" height="297" style="border:1px solid #d3d3d3;">
Your browser does not support the HTML5 canvas tag.
</canvas>

<script>
window.onload = function() {
  var c = document.getElementById("myCanvas");
  var ctx = c.getContext("2d");
  var img = document.getElementById("scream");
  ctx.drawImage(img, 10, 10);
}
</script>

我有一张 map (作为图像)已加载到我需要使用的服务器上,但我找不到在 Canvas 上只显示一个图像的方法。例如... enter image description here左边的是我正在使用的图像,但我需要它才能让右边的图像( Canvas )工作。

有什么建议吗?

最佳答案

使用JS创建图片

如果您知道图像的路径,或者可以提供它,则可以使用以下内容创建图像。重要的是要注意图像确实需要时间来加载,并且您不能在图像加载之前成功使用它。

window.onload = function() {
  var c = document.getElementById("myCanvas");
  var ctx = c.getContext("2d");

  var img = document.createElement("img");

  img.onload = function() {
    ctx.drawImage(img, 10, 10);
  }

  // triggers onload event (after it loads of course)
  img.src = "//via.placeholder.com/350x150";

}
<p>Canvas:</p>
<canvas id="myCanvas" width="370" height="170" style="border:1px solid #d3d3d3;">
Your browser does not support the HTML5 canvas tag.
</canvas>

关于javascript - 如何在页面上没有图像的情况下在 HTML5 Canvas 上使用图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59604274/

相关文章:

php - 在 div 中设置 php/mysql 数组的样式

c# - 我可以使用页面流式传输图像,而不是发送 ImageUrl 吗?

image - Phonegap Camera API allowEdit,设置图像始终为正方形

javascript - Browserify 动态分离包

javascript - 在 Ember 中,服务可以具有计算属性吗?

javascript - 如何避免页面刷新后丢失数据

PHP:为了发表评论而跳入 PHP 是一种不好的做法吗?

html - 链接到 HTML 纯文本站点地图文件的正确方法是什么?

javascript - 在 jssor 中动态添加字幕和幻灯片,并通过 onclick 在叠加层中显示全尺寸图像

javascript - Angular 排序日期排序不正确