Нажмите на видео, чтобы сделать снимок экрана при отслеживании JS - PullRequest
0 голосов
/ 01 октября 2018

Я основываю свой код на этой ТАК и документации .Мое намерение состоит в том, чтобы побудить пользователя щелкнуть мышью при обнаружении лица, а затем загрузить изображение

window.onload = function () {
  var video = document.getElementById('video');
  var canvas = document.getElementById('canvas');
  var context = canvas.getContext('2d');
  var tracker = new tracking.ObjectTracker('face');
  tracker.setInitialScale(4);
  tracker.setStepSize(2);
  tracker.setEdgesDensity(0.1);
  tracking.track('#video', tracker, {
    camera: true
  });
  tracker.on('track', function (event) {
    context.clearRect(0, 0, canvas.width, canvas.height);
    event.data.forEach(function (rect) {
      context.strokeStyle = '#a64ceb';
      context.strokeRect(rect.x, rect.y, rect.width, rect.height);
      context.font = '11px Helvetica';
      context.fillStyle = "#fff";
      context.fillText('x: ' + rect.x + 'px', rect.x + rect.width + 5, rect.y + 11);
      context.fillText('y: ' + rect.y + 'px', rect.x + rect.width + 5, rect.y + 22);

    });
  });

  $("#video").on('click', function () {
    var snapshotContext = snapshotCanvas.getContext('2d');
    //draw image to canvas. scale to target dimensions
    snapshotContext.drawImage(video, 0, 0, video.width, video.height);

    //convert to desired file format
    var dataURI = snapshotCanvas.toDataURL('image/jpeg'); // can also use 'image/png'
    //This dataURI is what you would use to get the actual image
    console.log(dataURI);
  })
};

Однако это не работает.Чего мне не хватает?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...