Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
26 of 196 menu
◀ ▶

Метод getSize

Метод getSize компонента Image принимает строку адреса и две функции обратного вызова. В success приходят width и height в пикселях. failure вызывают, если размер получить не удалось.

Синтаксис

Image.getSize(uri, success, failure);

Параметры

Параметр Описание
uri Строка адреса картинки, например 'https://example.com/a.png'.
success Функция (width, height) => { ... } при успешном чтении размера.
failure Функция при ошибке. Можно передать пустую функцию, если ошибку игнорируют.

Пример

Давайте подставим высоту Image из пропорций файла:

import { useEffect, useState } from 'react'; import { Image } from 'react-native'; const uri = 'https://example.com/a.png'; const boxWidth = 200; export default function App() { const [height, setHeight] = useState(100); useEffect(() => { Image.getSize( uri, (width, imgHeight) => { setHeight((boxWidth * imgHeight) / width); }, () => {}, ); }, []); return ( <Image source={{ uri }} style={{ width: boxWidth, height }} resizeMode="contain" /> ); }

На экране картинка шириной 200 и высотой по пропорциям исходного файла.

Пример

Давайте сохраним размер в состоянии для подписи:

import { Image } from 'react-native'; const uri = 'https://example.com/a.png'; Image.getSize( uri, (width, height) => { console.log(width, height); }, () => { console.log('abcde'); }, );

В консоли после успеха появятся два числа ширины и высоты. При ошибке будет строка 'abcde'.

Смотрите также

  • метод prefetch,
    который заранее загружает картинку в кеш
  • метод resolveAssetSource,
    который разворачивает локальный ресурс
  • компонент Image,
    который рисует картинку на экране
  • перечисление ResizeMode,
    которое задает вписывание в рамку
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить