c# - 签名板保存图像

标签 c# jquery asp.net

我正在试用签名板并设置其中一个示例。但我不知道如何将图像保存为 jpeg 或类似格式。

我正在尝试保存图像,然后将其显示在占位符中,这样我就可以看到它是否有效。

下面是我的代码:

默认.aspx

<head runat="server">
<script src="scripts/jquery.min.js"></script>
<script src="scripts/jquery.signaturepad.min.js"></script>
<script src="scripts/json2.min.js"></script>

 <link rel="stylesheet" href="scripts/jquery.signaturepad.css"/>
   <script type="text/javascript"> 
       $(document).ready(function () {
           $('.sigPad').signaturePad({ drawOnly: true });

       });


</script>
     <title></title>
</head>
<body>
    <form id="form1" runat="server" class="sigPad">
 <label for="name">Print your name</label>
  <input type="text" name="name" id="name" class="name"/>
  <p class="drawItDesc">Draw your signature</p>
  <ul class="sigNav">
    <li class="drawIt"><a href="#draw-it">Draw It</a></li>
    <li class="clearButton"><a href="#clear">Clear</a></li>
  </ul>
  <div class="sig sigWrapper">
    <div class="typed"></div>
    <canvas class="pad" width="198" height="55"></canvas>
    <input type="hidden" name="output" class="output"/>
  </div>
  <button type="submit">I accept the terms of this agreement.</button>

        <asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>
    </form>
</body>
</html>

Default.aspx.cs

  protected void Page_Load(object sender, EventArgs e)
    {
        if (IsPostBack)
        {
            var sigToImg = new SignatureToImage();
            var signatureImage = sigToImg.SigJsonToImage(signatureJson);

            // I want to be able to add the image to Placeholder1 after the post back
        }
    }

最佳答案

 //HTML5
<div id="sketch" style="width: 400px; height: 245px; border: 1px solid #999999;float:left">
<canvas id="signature"></canvas>
</div>

//Javascript

var mycanvas = document.getElementById("signature"); //get your canvas
var image = mycanvas.toDataURL("image/png"); //Convert
document.getElementById("imgsaveSignature").src = image;
document.getElementById("imgsaveSignature").style.display = "inline";
image = image.replace('data:image/png;base64,', '');
document.getElementById("hdnSignatureImageData").value = image;

//in the code behind


 Using fs As New FileStream(SignatureImgPath, FileMode.Create)
     Using bw As New BinaryWriter(fs)
         Dim data As Byte() = Convert.FromBase64String(hdnSignatureImageData.Value)
         bw.Write(data)
         bw.Close()
     End Using
     fs.Close()
 End Using

关于c# - 签名板保存图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19303285/

相关文章:

c# - Entity Framework 4.1 RC : Code First EntityTypeConfiguration inheritance issue

c# - 如何防止 Visual Studio 在 Web 项目中使用 "publishing"XML 文档文件?

c# - 有没有更简洁的方法可以在 C# 中进行排序?

jquery - 单击后更改元素的文本或 HTML

c# - 注册外部登录 Web API

javascript - 动态打开一个用 Javascript 定义的 radwindow

c# - 是否可以仅使用一次分配来连接字符串列表?

Jquery 自动完成导致页面不必要地滚动

jquery - Sprockets::FileNotFound:找不到文件 'jquery-ui'?

asp.net - 向 ASP.NET Identity 中的 AspNetUserRoles 表添加角色