javascript изменение цвета рисования изображения blob, а не цвета фона - PullRequest
0 голосов
/ 05 августа 2020

Я использую устройство подписи Topaz Systems и пытаюсь изменить цвет нарисованной подписи. Ниже приведен фрагмент исходного кода Api Topaz SigWeb:

function SigWebSetDisplayTarget(obj) {
    ctx = obj;
}

var NumPointsLastTime = 0;

function SigWebRefresh() {
    var NumPoints = NumberOfTabletPoints();
    if (NumPoints == NumPointsLastTime) {
        return;
    }
    NumPointsLastTime = NumPoints;

    var xhr2 = new XMLHttpRequest();
    xhr2.open("GET", baseUri + "SigImage/0", true);
    xhr2.responseType = "blob"
    xhr2.onload = function () {
        var img = new Image();
        img.src = getBlobURL(xhr2.response);
        img.onload = function () {
            ctx.drawImage(img, 0, 0);
            revokeBlobURL(this.src);
            img = null;
        }
    }
    xhr2.send(null);
}

Я попытался добавить этот код перед методом drawImage:

  ctx.fillStyle = "#09f";
  ctx.fillRect(0, 0, c.width, c.height);
  
  // set composite mode
  ctx.globalCompositeOperation = "destination-in";

Он только изменил фон холст. и я хочу изменить только нарисованную подпись.

Примечание: контекст элемента холста, определенный как ctx, исходит из файла cs html в качестве параметра:

...