jQuery签名板:使用类型化版本获取JSON输出

jQuery签名板:使用类型化版本获取JSON输出,jquery,canvas,signaturepad,Jquery,Canvas,Signaturepad,我一直在使用Thomas J.Bradley的jQuery签名板插件来捕获绘制的签名,效果很好。我想做的是也允许类型化签名,但让它输出与绘制签名相同的数据(JSON表示) 由于数据输出是光标在画布上移动时的实际坐标,我猜它必须模拟鼠标或触摸的移动。我找到了另一个。有没有办法模拟绘制文本的跟踪?如果是的话,这可能是一个解决方案 更新 我放弃了原来的计划 由于我的最终目标是获得相同的输出,无论是使用类型签名还是绘制签名,我决定使用提供的getSignatureImage()方法。但是,getSign

我一直在使用Thomas J.Bradley的jQuery签名板插件来捕获绘制的签名,效果很好。我想做的是也允许类型化签名,但让它输出与绘制签名相同的数据(JSON表示)

由于数据输出是光标在画布上移动时的实际坐标,我猜它必须模拟鼠标或触摸的移动。我找到了另一个。有没有办法模拟绘制文本的跟踪?如果是的话,这可能是一个解决方案

更新 我放弃了原来的计划

由于我的最终目标是获得相同的输出,无论是使用类型签名还是绘制签名,我决定使用提供的
getSignatureImage()
方法。但是,
getSignatureImage()
方法仅适用于签名的绘制版本。我实现了以下代码,将键入的签名“绘制”到临时画布上:

var canvas = $("canvas").get(0);
var ctx = canvas.getContext("2d");

// signature_name is the id of the input element
var tempCanvasHtml = '<canvas id="temp_canvas" style="display:none;" width="400" height="120"></canvas>';
$(".signature_form").append(tempCanvasHtml);
var tempCanvas = $("#temp_canvas").get(0);
var tempCtx = tempCanvas.getContext("2d");
tempCtx.font = "3.875em/50px 'Journal',Georgia,Times,serif";
tempCtx.fillStyle = '#145394';
tempCtx.fillText($("#signature_name").val(), 5, 90);
var img = tempCanvas.toDataURL("image/png");
tempCanvas.remove();
var canvas=$(“canvas”).get(0);
var ctx=canvas.getContext(“2d”);
//签名\u name是输入元素的id
var tempCanvasHtml='';
$(“.signature_form”).append(tempCanvasHtml);
var tempCanvas=$(“#temp_canvas”).get(0);
var tempCtx=tempCanvas.getContext(“2d”);
tempCtx.font=“3.875em/50px‘Journal’,佐治亚州,泰晤士报,serif”;
tempCtx.fillStyle='#145394';
tempCtx.fillText($(“#签名_名称”).val(),5,90);
var img=tempCanvas.toDataURL(“image/png”);
tempCanvas.remove();
我在接受签名或提交表单时运行此代码。如果签名是绘制的,我使用
getSignatureImage()
,当它被键入时,我使用上面的代码

注意:使用此代码将生成没有画布背景的图像,这是插件不支持的
getSignatureImage()
。我不得不这样做。

我显然无法获取“canvas”。我无法读取未定义的属性“getContext”