在图像上添加IP和日期时间戳

时间:2019-02-08 00:53:06

标签: php

我需要在图像上添加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);

任何有关此操作的帮助都将非常有用。谢谢!

0 个答案:

没有答案