Задать вопрос
squadbrodyaga
@squadbrodyaga
帆は風を変えた

Почему я не могу использовать new Image() в Nuxt 3?

Здравствуйте, у меня есть вот такая функция, она получает цвет пикселя из края изображения:
function getPixel(url, x, y) {
  var img = new Image();
  img.src = url;
  var canvas = document.createElement('canvas');
  var context = canvas.getContext('2d');
  context.drawImage(img, 0, 0);
  return context.getImageData(x, y, 1, 1).data;
}


Но в Nuxt 3 она не работает, в консоли пишет Image из not defined, как можно решить проблему?
  • Вопрос задан
  • 128 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
squadbrodyaga
@squadbrodyaga Автор вопроса
帆は風を変えた
Решил проблему. Для создания canvas и imgae я использовал библиотеку canvas,

import { createCanvas, loadImage } from 'canvas'

const image = await loadImage("https://рандомныйсайт/img.jpg", {
  crossOrigin: "anonymous"
})

const canvas = createCanvas(500, 500)
const context = canvas.getContext('2d')
context.drawImage(image, 0, 0, canvas.width, canvas.width)
const pixelData = context.getImageData(1, 1, 1 ,1)


Ключевым моментом является именно crossOrigin: "anonymous".
Отсутствие данных, какие настройки могут передаваться в поле options у метода loadImage()вводит в заблуждение.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
yarkov
@yarkov
Помог ответ? Отметь решением.
как можно решить проблему?


Не вызывать функцию там где Image из not defined
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы