Click here to Skip to main content
15,885,782 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
I have code for signature control using canvas, i want to store that in DB
please help me.

here is my code
<pre lang="text"><pre lang="text"><pre lang="text"><pre lang="text"><pre lang="text"><pre lang="text"><pre lang="HTML"><pre lang="HTML">

XML
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>

     <script type="text/javascript">
         function loaded() {

             var signature = new ns.SignatureControl({
                 containerId: 'container', callback: function () {
                     alert('hello');
                 }
             });
             signature.init();

         }

         window.addEventListener('DOMContentLoaded', loaded, false);
    </script>

    <script type="text/javascript">

        (function (ns) {
           // "use strict";

            ns.SignatureControl = function (options) {
                var containerId = options && options.canvasId || "container",
                    callback = options && options.callback || {},
                    label = options && options.label || "Signature",
                    cWidth = options && options.width || "300px",
                    cHeight = options && options.height || "300px",
                    btnClearId,
                    btnAcceptId,
                    canvas,
                    ctx;

                function initCotnrol() {
                    createControlElements();
                    wireButtonEvents();
                    canvas = document.getElementById("signatureCanvas");
                    canvas.addEventListener("mousedown", pointerDown, false);
                    canvas.addEventListener("mouseup", pointerUp, false);
                    ctx = canvas.getContext("2d");
                }

                function createControlElements() {
                    var signatureArea = document.createElement("div"),
                        labelDiv = document.createElement("div"),
                        canvasDiv = document.createElement("div"),
                        canvasElement = document.createElement("canvas"),
                        buttonsContainer = document.createElement("div"),
                        buttonClear = document.createElement("button"),
                        buttonAccept = document.createElement("button");

                    labelDiv.className = "signatureLabel";
                    labelDiv.textContent = label;

                    canvasElement.id = "signatureCanvas";
                    canvasElement.clientWidth = cWidth;
                    canvasElement.clientHeight = cHeight;
                    canvasElement.style.border = "solid 2px black";

                    buttonClear.id = "btnClear";
                    buttonClear.textContent = "Clear";

                    buttonAccept.id = "btnAccept";
                    buttonAccept.textContent = "Accept";

                    canvasDiv.appendChild(canvasElement);
                    buttonsContainer.appendChild(buttonClear);
                    buttonsContainer.appendChild(buttonAccept);

                    signatureArea.className = "signatureArea";
                    signatureArea.appendChild(labelDiv);
                    signatureArea.appendChild(canvasDiv);
                    signatureArea.appendChild(buttonsContainer);

                    document.getElementById(containerId).appendChild(signatureArea);
                }

                function pointerDown(evt) {
                    ctx.beginPath();
                    ctx.moveTo(evt.offsetX, evt.offsetY);
                    canvas.addEventListener("mousemove", paint, false);
                }

                function pointerUp(evt) {
                    canvas.removeEventListener("mousemove", paint);
                    paint(evt);
                }

                function paint(evt) {
                    ctx.lineTo(evt.offsetX, evt.offsetY);
                    ctx.stroke();
                }

                function wireButtonEvents() {
                    var btnClear = document.getElementById("btnClear"),
                        btnAccept = document.getElementById("btnAccept");
                    btnClear.addEventListener("click", function () {
                        ctx.clearRect(0, 0, canvas.width, canvas.height);
                    }, false);
                    btnAccept.addEventListener("click", function () {
                        callback();
                    }, false);
                }

                function getSignatureImage() {
                    return ctx.getImageData(0, 0, canvas.width, canvas.height).data;
                }

                return {
                    init: initCotnrol,
                    getSignatureImage: getSignatureImage
                };
            }
        })(this.ns = this.ns || {});


    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div id="container">

    </div>
    </form><pre lang="c#">

</body>
</html>
Posted
Comments
[no name] 25-Sep-14 6:38am    
Try to use Varbinary(MAX)

1 solution

gjhjukuykuukukukkkkuykuy
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900