当前位置: 首页 > 面试题库 >

如何在画布上添加图像

杨高翰
2023-03-14
问题内容

我正在尝试使用HTML中的新canvas元素。

我只是想将图像添加到画布,但是由于某种原因它不起作用。

我有以下代码:

的HTML

<canvas id="viewport"></canvas>

的CSS

canvas#viewport { border: 1px solid white; width: 900px; }

JS

var canvas = document.getElementById('viewport'),
context = canvas.getContext('2d');

make_base();

function make_base()
{
  base_image = new Image();
  base_image.src = 'img/base.png';
  context.drawImage(base_image, 100, 100);
}

图片存在,并且没有JavaScript错误。该图像只是不显示。

这一定是我错过的非常简单的事情…


问题答案:

也许您应该等到图像加载后才能绘制图像。尝试以下方法:

var canvas = document.getElementById('viewport'),
context = canvas.getContext('2d');

make_base();

function make_base()
{
  base_image = new Image();
  base_image.src = 'img/base.png';
  base_image.onload = function(){
    context.drawImage(base_image, 0, 0);
  }
}

即在图像的onload回调中绘制图像。



 类似资料:
  • 实际上,我可以使用函数来完成。我从“HTML5画布-如何在图像背景上画一条线?”中得到的东西。但是我需要在不使用from函数的情况下绘制图像,如下所示:

  • 问题内容: 您好,我正在开发最后一年的项目应用程序,但是我对HTML5的使用经验不足。 我正在尝试创建一个简单的画布,用于在开始时加载图像,并且在加载图像时,我希望能够在图像上放置标记,例如google maps如何放置标记…。最有可能是图像,但我需要计算X和Y位置并显示放置在原始加载的图像上的每个标记的坐标..... 标记可以以数组形式存储在javascript中,也可以以ajax形式存储,因为

  • 问题内容: 这就是我遇到麻烦的代码的本质: 这是在开始时运行的。我稍后在另一个函数中要做的 将替换为 然后是“sample3.gif”。我被卡住了,我一直在尝试的东西都没有 工作至今。 问题答案: Add image to canvas: Change image: Full example:

  • 我可以绘制图像,但我如何旋转该图像例如45度并绘制它,然后绘制另一个图像与-50度旋转在同一画布? 不适用于我,因为它会旋转所有画布内容。

  • 问题内容: 在我的项目中,我使用iText生成PDF文档。 假设页面的高度为500pt(1个用户单位= 1点),并且我在页面上写了一些文本,然后是图像。 如果内容和图像要求小于450pt,则文本在图像之前。如果内容和图像超过450pt,则文本将转发到下一页。 我的问题是:在写图像之前如何获得剩余的可用空间? 问题答案: 首先,第一件事:在页面上添加文本和图像时,iText有时会更改文本内容和图像的

  • 5.2.3 在画布上绘图 本节介绍如何在画布上绘制图形。为了完整起见,我们将前面介绍过的首先需要执行的 几条语句合在一起复制如下: >>> from Tkinter import * >>> root = Tk() >>> c = Canvas(root,width=300,height=200,bg='white') >>> c.pack() 如前所述,c 是一个画布对象,而画布对象提供了若干