Получить исходный URL или имя изображения с холста - PullRequest
1 голос
/ 22 января 2020

Я делаю расширение chrome, и мне нужно найти исходный URL-адрес изображения внутри холста или имя изображения. Мне это нужно, потому что имя изображения - это идентификатор элемента, который я хочу поймать с расширением, и я не могу понять, как получить одно из двух.

Я уже пытался получить getDataUlr () из холста но это просто изображение на большой строке и ничего не ссылается на идентификатор, который мне нужен.

Это вообще возможно?

С уважением и благодарностью за любую помощь

1 Ответ

0 голосов
/ 28 января 2020

Содержимое Canvas не обязательно исходит из исходного URL-изображения, оно может быть составным из множества изображений или может быть просто сгенерировано динамически.

См. Холст в этом примере ниже Исходное изображение, то, что мы видим на холсте, все рисуется с помощью javascript, и, поскольку я использую Math.random, изображение меняется при каждом запуске.

const canvas = document.getElementById("c");
canvas.width = canvas.height = 170;
const ctx = canvas.getContext("2d");
ctx.translate(85, 85)

for (var i = 0; i < 360; i += 2) {
  var angle = i * Math.PI / 90;
  var x = Math.cos(angle) * 40;
  var y = Math.sin(angle) * 40;

  ctx.beginPath();
  var v = Math.random() + 1;
  ctx.moveTo(x, y);
  ctx.lineTo(x * v, y * v)
  ctx.stroke();
}
<canvas id="c"></canvas>

Если вы можете гарантировать, что содержимое холста не изменится getDataUlr() это ваш друг, получите это, сохраните его, а затем вы можете укажите свой собственный URL.

...