как загрузить изображение и нарисовать изображение без ошибок

#javascript #image #loading #p5.js

#javascript #изображение #Загрузка #p5.js

Вопрос:

я пытаюсь загрузить изображение с p5.js loadImage(image); . Я использую библиотеку p5 на своем рабочем столе. Я не использую редактор браузера, когда я использую редактор браузера, он отлично справляется с загрузкой

но я получаю 2 ошибки, первая из которых гласит

 Fetch API cannot load 
file:///C:/Users/3worl/OneDrive/Skrivebord/G_O_E/planet.jpg. URL scheme 
must be "http" or "https" for CORS request.
  

во втором говорится

 p5.js:65680 Uncaught (in promise) TypeError: Failed to fetch
  

Ответ №1:

Ваше сообщение об ошибке довольно явное:

Fet API не может загрузить file:///C://..... URL-адрес, схема должна быть «http» или «https»

Вы пытаетесь получить доступ к файлу, как вы бы сделали в проводнике window file с путем file:///C://... , который не работает в коде javascript.

Если вы посмотрите на loadImage() документ, вы прочтете:

Путь к изображению должен быть относительно HTML-файла, который ссылается на ваш эскиз.Загрузка изображения с URL-адреса или другого удаленного местоположения может быть заблокирована из-за встроенной безопасности вашего браузера.

Итак, предположим, что ваш эскиз находится на C:/Users/3worl/OneDrive/Skrivebord/G_O_E/sketch.js и ваше изображение на C:/Users/3worl/OneDrive/Skrivebord/G_O_E/assets/planet.jpg вам нужно будет использовать loadImage('assets/planet.jpg') , т.е. используя путь изображения относительно эскиза.

Обратите внимание, что если бы вы могли также использовать URL-адрес, если изображение размещено в Интернете, например loadImage('https://earthsky.org/upl/2018/01/planet-artist.jpg') , но для этого требуется, чтобы вы разместили свое изображение в Интернете, для чего потребуется веб-сервер или служба хостинга.