javascript - 尝试将 Canvas 从一页复制到另一页

标签 javascript html html5-canvas

我在一个页面上有一个 Canvas ,将由用户编辑(在其上绘制),我希望同一个 Canvas 出现在他们访问的下一个页面中。例如,第一页 (floorplan.php) 是用户可以创建平面图的页面,下一页 (furnish.php) 是用户可以在 Canvas 上拖放家具的地方。

我已经检查过这个解决方案,但它似乎对我不起作用 (http://stackoverflow.com/questions/4405336/how-to-copy-contents-of-one-canvas-to -另一个 Canvas -本地)

这是我来自 furnish.php 的 JS 代码:(我想要复制的原始 Canvas 称为“ Canvas ”)。另外 - 我的 floorplan.php 代码中没有保存功能 - 也许这就是问题所在?

<script>    
window.onload = function(){
    var canvas2 = document.getElementById( 'canvas2' );
    var context2 = canvas.getContext( "2d" );

        var destX = 0;
        var destY = 0;

        var imageObj = new Image();
        imageObj.onload = function(){
            context.drawImage(canvas, destX, destY);
        };
        imageObj.src = "images/grid.png";
    };

$( document ).ready( function() 
{               

    $( '#clear' ).click( function () 
    {
        context.clearRect( 0, 0, 700, 700); 
    } );        

} );
</script>

最佳答案

您似乎希望在新页面上定义变量 canvas。请记住,当加载新页面时,前一个页面(以及该页面的 javascript 对象)基本上消失了。

您将需要序列化 Canvas 图像数据,并在 URL(或某处)中传递它,以便它可以在新页面上重新构造。参见 this SO question about canvas serialization .

您可能还希望考虑让平面布置图应用程序的两个阶段在同一页面上工作,这样就没有必要了。

关于javascript - 尝试将 Canvas 从一页复制到另一页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8391920/

相关文章:

javascript - 如何将图像直接清除到下一个 html Canvas 游戏中?

javascript - 如何在 Canvas 中显示组和非组形状的尺寸

javascript - Div宽度和高度基于jquery resizable()函数中的内部图像宽度和高度

javascript - AngularJS Controller As : updating controller field in $interval does not update ng-show

javascript - 如何使用 JavaScript 将焦点设置在 HTML 表单中的元素上?

html - 在以下出现相同工具提示图像的情况下,如何在悬停时显示不同的工具提示图像?

javascript - EaselJS(0.8.2.min 及以上)- 当角色移动时移动 JSON 生成的 Sprite 贴图 XY

javascript - Border Radius 生成器无故停止工作

javascript - 将 html 表转换为 mat 表( Angular )

html - 表格单元格图像未显示