Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.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
Html5 canvas 如何在画布元素中使用html内容_Html5 Canvas - Fatal编程技术网

Html5 canvas 如何在画布元素中使用html内容

Html5 canvas 如何在画布元素中使用html内容,html5-canvas,Html5 Canvas,有人能告诉我如何将html内容放在画布上吗?如果我们能做到这一点,这些元素的属性和事件是否有效,以及我在画布上绘制的动画。来源: 你不能只是把HTML画进画布。相反,您需要使用 包含要呈现的内容的SVG图像。绘制HTML 内容,则使用包含HTML的元素 将SVG图像绘制到画布中 它建议您遵循以下步骤: 这里唯一真正棘手的事情可能是 夸大是为图像创建SVG。你需要做的就是 为SVG创建一个包含XML的字符串并构造一个Blob 包括以下几个部分 blob的MIME媒体类型应为“image/svg+x

有人能告诉我如何将html内容放在画布上吗?如果我们能做到这一点,这些元素的属性和事件是否有效,以及我在画布上绘制的动画。

来源:

你不能只是把HTML画进画布。相反,您需要使用 包含要呈现的内容的SVG图像。绘制HTML 内容,则使用包含HTML的元素 将SVG图像绘制到画布中

它建议您遵循以下步骤:

这里唯一真正棘手的事情可能是 夸大是为图像创建SVG。你需要做的就是 为SVG创建一个包含XML的字符串并构造一个Blob 包括以下几个部分

  • blob的MIME媒体类型应为“image/svg+xml”
  • 元素
  • 在这里面,元素
  • 嵌套在中的(格式良好的)HTML本身
  • 通过使用如上所述的对象URL,我们可以内联HTML 而不必从外部源加载它。当然可以 当然,如果您愿意,可以使用外部来源,只要来源是 与原始文件相同

    提供了以下示例(您可以在中查看有关此的更多信息):

    演示

    const ctx=document.getElementById(“画布”).getContext(“2d”);
    常数数据=`
    我喜欢帆布
    `;
    const img=新图像();
    const svg=newblob([data],{type:“image/svg+xml;charset=utf-8”});
    const url=url.createObjectURL(svg);
    img.onload=函数(){
    ctx.drawImage(img,0,0);
    revokeObjectURL(URL);
    };
    img.src=url
    
    const ctx=document.getElementById(“画布”).getContext(“2d”);
    常数数据=`
    我喜欢帆布
    `;
    const img=新图像();
    const svg=newblob([data],{type:“image/svg+xml;charset=utf-8”});
    const url=url.createObjectURL(svg);
    img.onload=函数(){
    ctx.drawImage(img,0,0);
    revokeObjectURL(URL);
    };
    img.src=url
    
    我无法在svg中放置画布元素我该怎么办that@alliprashanth只需看看示例和演示。您所需要的就是在画布上放置一些html。您还可以查看html2canvas以获得更简单的解决方案。您不能将画布元素放在svg中-如果您需要在画布上绘制另一个画布(或图像),只需将它们用作drawImage()的参数。请对您的答案进行一些解释