Задать вопрос
@kirillleogky

Как узнать размеры фото для canvasa?

Есть код:
let canvas = document.getElementById('canvas');

function getLinkToImage() {
const url = 'https://api.unsplash.com/photos/random?query=town,Minsk&client_id=КОД';
fetch(url)
  .then(res => res.json())
  .then(data => data.urls.small)
  .then(image => {
      if (canvas.getContext) {
        let ctx = canvas.getContext('2d');
        ctx.clearRect(0, 0, canvas.width, canvas.height);
        let pic = new Image();
        pic.src = image;
        pic.onload = () => {
          ctx.drawImage(pic, ?, ?, ?, ?);
        }
      }
  })
}




Подскажите как брать ВСЕГДА актуальные размеры фото из fetcha?

Чтобы можно было записывать всегда нужные значения (чтобы фото не растягивалось а было чисто своего размера)?
Что сюда записать вместо "?":
ctx.drawImage(pic, ?, ?, ?, ?);

Примеры что я имею ввиду:

5dced9f157dfe599165067.png
  • Вопрос задан
  • 114 просмотров
Подписаться 2 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 1
wisgest
@wisgest
Не ИТ-специалист
При наступлении pic.oload (хотя, может быть и раньше) см. pic.naturalWidth и pic.naturalHight или, если эти значения вдруг не определены (в старых обозревателях), то pic.width и pic.hight, но только если они явно не заданы через атрибуты width и height.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
18 дек. 2024, в 14:45
25000 руб./за проект
18 дек. 2024, в 14:43
25000 руб./за проект
18 дек. 2024, в 14:22
750 руб./за проект