javascript - 将 Angular 2 签名板 JSON 转换为 jQuery.signaturePad JSON
问题描述
我正在使用 Rails + Angular。在我的 Rails 代码中,我使用 jQuery.signaturePad,它生成如下输出:
[
{"lx"=>0.0, "ly"=>8.0, "mx"=>0.0, "my"=>7.0},
{"lx"=>1.0, "ly"=>10.0, "mx"=>0.0, "my"=>8.0},
...
]
但是,由于我有一个项目边界,我不能将 jQuery 用于 Angular 代码,所以我决定使用Angular2 SignaturePad。
因此,当我尝试以下操作时:
@ViewChild(SignaturePad) signaturePad: SignaturePad;
.
.
.
drawComplete() {
this.signaturePad.toData()
}
它输出为:
[
[
{x: 85.5, y: 66, time: 1568119306312, color: "#145394"},
{x: 90.5, y: 66, time: 1568119306375, color: "#145394"},
{x: 97.5, y: 75, time: 1568119306407, color: "#145394"},
{x: 105.5, y: 89, time: 1568119306424, color: "#145394"}
],
[
{x: 120.5, y: 112, time: 1568119306440, color: "#145394"},
{x: 134.5, y: 130, time: 1568119306456, color: "#145394"},
{x: 146.5, y: 151, time: 1568119306473, color: "#145394"},
{x: 159.5, y: 171, time: 1568119306489, color: "#145394"}
]
]
其中数组中的每个数组代表画布中的每个笔划。
有没有办法可以将上述 Angular signatirePad JSON 格式转换为 jQuery signaturePad JSON 格式?
这样我也可以使用相同的签名数据在 Rails 中呈现登录
解决方案
我得到了转换。因此,在以下示例中(Angular2 signature-pad的输出):
[
[
1 -> {x: 85.5, y: 66, time: 1568119306312, color: "#145394"},
2 -> {x: 90.5, y: 66, time: 1568119306375, color: "#145394"},
3 -> {x: 97.5, y: 75, time: 1568119306407, color: "#145394"},
4 -> {x: 105.5, y: 89, time: 1568119306424, color: "#145394"}
],
[
5 -> {x: 120.5, y: 112, time: 1568119306440, color: "#145394"},
6 -> {x: 134.5, y: 130, time: 1568119306456, color: "#145394"},
7 -> {x: 146.5, y: 151, time: 1568119306473, color: "#145394"},
8 -> {x: 159.5, y: 171, time: 1568119306489, color: "#145394"}
]
]
编号为 1,2,3,4...便于理解...
jQuery 签名板输出如下所示:
l = 2, m = 1
l = 3, m = 2
.
.
.
l = 8, m = 7
因此,类似于jQuery.signature-pad的输出将是:
[
{lx: 90.5, ly: 66, mx: 85.5, my: 66},
{lx: 97.5, ly: 75, mx: 90.5, my: 66},
{lx: 105.5, ly: 89, mx: 97.5, my: 75},
{lx: 134.5, ly: 130, mx: 120.5, my: 112},
{lx: 146.5, ly: 151, mx: 134.5, my: 130},
{lx: 159.5, ly: 171, mx: 146.5, my: 151},
]
推荐阅读
- javascript - AWS SES InvalidParameterValue:本地地址包含非法字符
- php - 将 Woocommerce 购物车项目自定义数据保存为订单项目元数据,在订单和电子邮件中显示它
- azure-active-directory - 如何为用户选择子字段?
- python - Pandas groupby 在一列数组中应用 np.maximum.reduce
- javascript - Post Loop 中的 Lottie 按钮动画
- c - 错误:段。过错。想要使用多线程复制多个文件
- vue.js - Visual Studio 2019 不会发布 vue.js,说 uglify-webpack-plugin path not found
- python - 基于matplotlib图/基于列表的动画对象垂直下降(Z)
- datatables - 将数据表中的数据呈现为小写
- c - 将 uint32_t 打印到 C 中的字符串,但不是字面上的值