c# - 将 Canvas 转换为图像并保存到光盘

标签 c# javascript jquery html canvas

已经有很多类似的问题,但由于某种原因它们不能解决我的问题。

我的项目是保存动态创建的页面(或页面的一部分)。用户可以选择在屏幕上拖动对象并将它们保留为任意顺序,然后将此顺序作为图像保存到光盘。

我自己的研究表明我可以使用 Draggable from JQuery这很容易实现。这是我陷入困境的保存部分。

我关注了一些links ,但图像似乎没有保存到光盘,我认为它在 IE 中不起作用!不过,我对 FireFox 很满意,因此使用 toDataUrl() 听起来是最好的方法。

由于我无法让它工作,我决定稍微改变策略并将值传递给后面的代码(C#)

我的代码的保存部分看起来像

<script>
    function SaveMe() {
        var canvas = document.getElementById("mycanvas");
        var image = canvas.toDataUrl();
        document.getElementById("hideMe").value = image;
    }
</script>

当我在 FireBug 中调试时,我从未到达 document.getElementById("hideMe").value = image;。我单步执行,但永远无法通过 var image = canvas.toDataUrl(); 这是预期的行为吗?我假设不是,但没有错误消息?

我的 HTML 正文是

<body>
    <script type="text/javascript">
        $(document).ready(function () {
            $('.popup_click').show(0).draggable();    
        });    
    </script>

    <form id="form1" runat="server">

        <div class="popup_click">
            <div id="popup_title">Title</div>
        </div>

        <canvas id="mycanvas" class="canvas"></canvas>

        <asp:HiddenField ID="hideMe" runat="server" />
        <asp:Button runat="server" OnClick="ClickMe" text="Click" OnClientClick="SaveMe()"/>

    </form>
</body>

我做错了什么?我在 Debug模式下本地工作,Visual Studio 2013。

最佳答案

不太确定,但我过去也遇到过 todataurl() 问题,这个链接帮助了我

Not able to get data url when using images in kinetic js

关于c# - 将 Canvas 转换为图像并保存到光盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19428957/

相关文章:

c# - OpenFileDialog 和 Environment.CurrentDirectory

javascript - 如何将下划线分隔的字符串转换为大写字符串

javascript - Coldfusion/Lucee 通过 AJAX 进行多重条件选择

javascript - 使用 javascript 从表中删除 tr 后,当提交发送所有行时

c# - 自创建数据库以来,支持 'EmployeeDetailsContext' 上下文的模型已发生更改。

c# - 如何在 C# 中将数据库对象转换为 int?

c# - 单选按钮未更新服务器端的值

javascript - 我有一个用户脚本来更改嵌入式聊天颜色。我该如何将脚本的功能合并到我的页面中呢?

javascript - 如果选中其他复选框,则禁用复选框

javascript - 从拼接图像悬停时图像变化