我需要在图像上添加IP和日期/时间戳。该图像是某人签名的签名。我已经尝试了所有我想尝试的事情,但仍然无法正常工作。
这是我用来获取签名,然后将其作为图像保存到服务器的代码。您还将看到我尝试做的一些事情。
稍后我将添加变量以获取IP和日期/时间戳,这不是问题。我只需要弄清楚如何将其添加到右下角的图像中即可。
我目前正在尝试imagecolorallocate和imagettftext
这将获得签名:
$(document).ready(function () {
$('#signArea').signaturePad({
drawOnly: true, drawBezierCurves: true, lineTop: 90
});
});
$("#btnSaveSign").click(function (e) {
html2canvas([document.getElementById('sign-pad')], {
onrendered: function (canvas) {
var canvas_img_data = canvas.toDataURL('image/png');
var img_data = canvas_img_data.replace(/^data:image\/(png|jpg);base64,/, "");
//ajax call to save image inside folder
$.ajax({
url: 'save_sign.php',
data: {img_data: img_data},
type: 'post',
dataType: 'json',
success: function (response) {
window.location.reload();
}
});
}
});
});
这是将其另存为.png文件的地方:
<?php
$result = [];
$imagedata = base64_decode($_POST['img_data']);
$filename = "1-72_110_11_123-01-09-2019";
$file_name = 'doc_signs/' . $filename . '.png';
$font = "fontawesome-webfont.ttf";
$fontsize = "15";
// text to be printed on image
$watermarktext = "111.22.333.22.11 02-05-2019";
$white = imagecolorallocate($imagedata, 255, 255, 255);
$theimage = imagettftext(
$imagedata, $fontsize,
0, 20, 10,
$white, $font, $watermarktext
);
file_put_contents($file_name, $theimage);
$result['status'] = 1;
$result['file_name'] = $file_name;
echo json_encode($result);
任何有关此操作的帮助都将非常有用。谢谢!