在图片中将文本添加到base64字符串

时间:2019-05-02 08:11:51

标签: javascript base64

我有一个画布,我在其中捕获了签名(浏览器应用程序,javascript)。我在base64字符串中得到了这个signatur,我可以下载它。一切正常。现在我想在图片中添加文本(base64字符串)。

在我的研究中,我遇到了诸如水印之类的不同方法,但这对我没有用,我认为这几乎没有什么复杂性。是否有可能或简单的方法向base64字符串添加文本?​​

downloadpic: function () {
      var sign = this.getView().byId("Signature");
      var imagetxtb64 = sign.getSigAsJpeg();

      var image = new Image();
      var element = document.createElement('a');

      image.src = imagetxtb64;

      element.setAttribute('href', image.src);
      element.setAttribute('download', 'image');
      element.style.display = 'none';

      element.click();
    }

imagetxtb64变量中是base64字符串。我可以通过在其中添加一些文字来对其进行修改吗?

更新:

我现在具有以下功能:

    downloadtext: function () {

    var canvas = document.createElement("canvas");


    var sign = this.getView().byId("Signature");
    var imagetxtb64 = sign.getSigAsJpeg();

    var ctx = canvas.getContext('2d');
    ctx.drawImage(imagetxtb64, 0, 0);

    var randomtxt = "Random Text";
    ctx.font = "30px Arial";
    ctx.strokeText(randomtxt, 10, 50);

    var dataURL = canvas.toDataURL();
    console.log(dataURL);

    var image = new Image();
    var element = document.createElement('a');

    image.src = dataURL;

    element.setAttribute('href', image.src);
    element.setAttribute('download', 'image');
    element.style.display = 'none';

    element.click();

    },

我猜用ctx.drawImage(imagetxtb64, 0, 0);我将现有画布加载到新画布中。

但是当我尝试执行此操作时,出现以下错误:

  

未捕获的TypeError:无法在'CanvasRenderingContext2D'上执行'drawImage':提供的值不是'(CSSImageValue或HTMLImageElement或SVGImageElement或HTMLVideoElement或HTMLCanvasElement或ImageBitmap或OffscreenCanvas)类型的值

0 个答案:

没有答案