Image¶
Image
- компонент React для отображения различных типов изображений, включая сетевые изображения, статические ресурсы, временные локальные изображения и изображения с локального диска.
Этот пример показывает получение и отображение изображения из локального хранилища, а также из сети и даже из данных, предоставленных в схеме uri 'data:'
.
Обратите внимание, что для изображений сети и данных необходимо вручную указать размеры изображения!
Примеры¶
Вы также можете добавить style
к изображению:
Поддержка GIF и WebP на Android¶
При создании собственного нативного кода GIF и WebP не поддерживаются по умолчанию на Android.
Вам потребуется добавить некоторые дополнительные модули в android/app/build.gradle
, в зависимости от потребностей вашего приложения.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
Примечание: указанная выше версия может не обновляться вовремя. Пожалуйста, проверьте ReactAndroid/gradle.properties
в основном репозитории, чтобы узнать, какая версия fresco используется в конкретной версии тегов.
Свойства¶
View Props¶
Наследует View Props.
accessible¶
При значении true
указывает, что изображение является элементом доступности.
Тип | По-умолчанию |
---|---|
bool | false |
accessibilityLabel¶
Текст, который считывается программой чтения с экрана, когда пользователь взаимодействует с изображением.
Тип |
---|
string |
alt¶
Строка, определяющая альтернативное текстовое описание изображения, которое будет считываться программой чтения с экрана при взаимодействии с ним пользователя. Использование этого параметра автоматически пометит этот элемент как доступный.
Тип |
---|
string |
blurRadius¶
blurRadius
: радиус размытия фильтра размытия, добавленного к изображению.
Тип |
---|
number |
Совет
На IOS вам потребуется увеличить blurRadius
более чем на 5
.
capInsets ¶
При изменении размера изображения углы размера, указанного capInsets
, останутся фиксированного размера, но центральное содержимое и границы изображения будут растянуты. Это полезно для создания изменяемых по размеру закругленных кнопок, теней и других изменяемых по размеру активов. Дополнительная информация в официальной документации Apple.
Тип |
---|
Rect |
crossOrigin¶
Строка ключевого слова, указывающая режим CORS, который следует использовать при получении ресурса изображения. Работает аналогично атрибуту crossorigin в HTML.
anonymous
: Нет обмена учетными данными пользователя в запросе изображения.use-credentials
: Устанавливает значение заголовкаAccess-Control-Allow-Credentials
наtrue
в запросе изображения.
Тип | По-умолчанию |
---|---|
enum('anonymous', 'use-credentials') | 'anonymous' |
defaultSource¶
Статическая картинка для отображения во время загрузки источника изображения.
Тип |
---|
ImageSource |
Примечание
На Android в отладочных сборках игнорируется исходный пропс по умолчанию.
fadeDuration ¶
Продолжительность анимации затухания в миллисекундах.
Тип | По-умолчанию |
---|---|
number | 300 |
height¶
Высота компонента изображения.
Тип |
---|
number |
loadingIndicatorSource¶
Тип |
---|
ImageSource (uri only), number |
onError¶
Вызывается при ошибке загрузки.
Тип |
---|
({nativeEvent: {error} }) => void |
onLayout¶
Вызывается при монтировании и при смене раскладки.
Тип |
---|
({nativeEvent: [LayoutEvent](layoutevent}) => void |
onLoad¶
Вызывается при успешном завершении загрузки.
1 2 3 |
|
Тип |
---|
({nativeEvent: ImageLoadEvent}) => void |
onLoadEnd¶
Вызывается при успешной или неудачной загрузке.
Тип |
---|
() => void |
onLoadStart¶
Вызывается при начале загрузки.
1 |
|
Тип |
---|
() => void |
onPartialLoad ¶
Вызывается, когда частичная загрузка изображения завершена. Определение того, что является "частичной загрузкой", зависит от конкретного загрузчика, но это предназначено для прогрессивной загрузки JPEG.
Тип |
---|
() => void |
onProgress¶
Вызывается при выполнении загрузки.
Тип |
---|
({nativeEvent: {loaded, total} }) => void |
progressiveRenderingEnabled ¶
Если true
, включает прогрессивную потоковую передачу jpeg.
Тип | По-умолчанию |
---|---|
bool | false |
resizeMethod ¶
Механизм, который должен использоваться для изменения размера изображения, когда размеры изображения отличаются от размеров представления изображения. По умолчанию используется auto
.
auto
: Используйте эвристику для выбора междуresize
иscale
.resize
: Программная операция, которая изменяет закодированное изображение в памяти до того, как оно будет декодировано. Это следует использовать вместоscale
, когда изображение намного больше, чем вид.scale
: Изображение рисуется уменьшенным или увеличенным. По сравнению сresize
,scale
работает быстрее (обычно с аппаратным ускорением) и создает изображения более высокого качества. Этот параметр следует использовать, если изображение меньше, чем вид. Его также следует использовать, если изображение немного больше, чем вид.
Более подробно о resize
и scale
можно узнать на сайте.
Тип | По-умолчанию |
---|---|
enum('auto', 'resize', 'scale') | 'auto' |
referrerPolicy¶
Строка, указывающая, какой реферер использовать при получении ресурса. Устанавливает значение для заголовка Referrer-Policy
в запросе изображения. Работает аналогично атрибуту referrerpolicy
в HTML.
Тип | По-умолчанию |
---|---|
enum('no-referrer', 'no-referrer-when-downgrade', 'origin', 'origin-when-cross-origin', 'same-origin', 'strict-origin', 'strict-origin-when-cross-origin', 'unsafe-url') | 'strict-origin-when-cross-origin' |
resizeMode¶
Определяет, как изменить размер изображения, если рамка не соответствует размерам необработанного изображения. По умолчанию имеет значение cover
.
cover
: Масштабируйте изображение равномерно (сохраняя соотношение сторон изображения) так, чтобы- оба размера (ширина и высота) изображения были равны или больше соответствующего размера представления (минус подложка)
- по крайней мере одно измерение масштабированного изображения будет равно соответствующему измерению представления (минус padding).
contain
: Масштабировать изображение равномерно (сохраняя соотношение сторон изображения) так, чтобы оба размера (ширина и высота) изображения были равны или меньше соответствующего размера представления (минус подложка).stretch
: Масштабировать ширину и высоту независимо, это может изменить соотношение сторон src.repeat
: Повторять изображение, чтобы покрыть рамку представления. Изображение сохранит свой размер и соотношение сторон, если только оно не больше, чем вид, в этом случае оно будет равномерно уменьшено, чтобы оно поместилось в вид.center
: Центрирует изображение в представлении по обоим измерениям. Если изображение больше, чем вид, равномерно уменьшите его масштаб так, чтобы оно поместилось в вид.
Тип | По-умолчанию |
---|---|
enum('cover', 'contain', 'stretch', 'repeat', 'center') | 'cover' |
source¶
Источник изображения (либо удаленный URL, либо локальный файловый ресурс).
Этот пропс также может содержать несколько удаленных URL, указанных вместе с их шириной и высотой и, возможно, с аргументами scale/другими URI. Родная сторона будет выбирать лучший uri
для отображения, основываясь на измеренном размере контейнера изображения. Свойство cache
может быть добавлено для управления тем, как сетевой запрос взаимодействует с локальным кэшем. (Для получения дополнительной информации смотрите Cache Control for Images).
В настоящее время поддерживаются следующие форматы: png
, jpg
, jpeg
, bmp
, gif
, webp
, psd
(только для iOS). Кроме того, iOS поддерживает несколько форматов изображений RAW. Актуальный список поддерживаемых моделей камер см. в документации Apple.
Тип |
---|
ImageSource |
src¶
Строка, представляющая удаленный URL изображения. Этот параметр имеет приоритет перед параметром source
.
Пример:
1 |
|
Тип |
---|
string |
srcSet¶
Строка, представляющая собой разделенный запятыми список возможных источников изображений-кандидатов. Каждый источник изображения содержит URL-адрес изображения и дескриптор плотности пикселей. Если дескриптор не указан, по умолчанию используется дескриптор 1x
.
Если srcSet
не содержит дескриптора 1x
, значение в src
используется в качестве источника изображения с дескриптором 1x
(если он предоставлен).
Этот пропс имеет приоритет над пропсами src
и source
.
Пример:
1 2 3 4 |
|
Тип |
---|
string |
style¶
Тип |
---|
Image Style Props, Layout Props, Shadow Props, Transforms |
testID¶
Уникальный идентификатор для этого элемента, который будет использоваться в сценариях тестирования автоматизации пользовательского интерфейса.
Тип |
---|
string |
tintColor¶
Изменяет цвет всех непрозрачных пикселей на tintColor
.
Тип |
---|
color |
width¶
Ширина компонента изображения.
Тип |
---|
number |
Методы¶
abortPrefetch() ¶
1 |
|
Прервать предварительный запрос.
Параметры:
Имя | Тип | Описание |
---|---|---|
requestId (обязательно) | number | Идентификатор запроса, возвращаемый функцией prefetch() . |
getSize()¶
1 2 3 4 5 |
|
Получение ширины и высоты (в пикселях) изображения перед его отображением. Этот метод может не сработать, если изображение не может быть найдено или не удалось загрузить.
Для получения размеров изображения может потребоваться сначала загрузить или скачать изображение, после чего оно будет кэшировано. Это означает, что в принципе вы можете использовать этот метод для предварительной загрузки изображений, однако он не оптимизирован для этой цели и в будущем может быть реализован таким образом, чтобы не полностью загружать/скачивать данные изображения. Правильный, поддерживаемый способ предварительной загрузки изображений будет предоставлен в виде отдельного API.
Параметры:
Имя | Тип | Описание |
---|---|---|
uri (обязательно) | string | Расположение изображения. |
success (обязательно) | function | Функция, которая будет вызвана, если изображение было успешно найдено и получены его ширина и высота. |
failure | function | Функция, которая будет вызвана, если произошла ошибка, например, не удалось получить изображение. |
getSizeWithHeaders()¶
1 2 3 4 5 6 |
|
Получение ширины и высоты (в пикселях) изображения перед его отображением с возможностью предоставления заголовков для запроса. Этот метод может не сработать, если изображение не может быть найдено или не удалось загрузить. Он также не работает для ресурсов статических изображений.
Для получения размеров изображения может потребоваться сначала загрузить или скачать изображение, после чего оно будет кэшировано. Это означает, что в принципе вы можете использовать этот метод для предварительной загрузки изображений, однако он не оптимизирован для этой цели и в будущем может быть реализован таким образом, чтобы не полностью загружать/скачивать данные изображения. Правильный, поддерживаемый способ предварительной загрузки изображений будет предоставлен в виде отдельного API.
Параметры:
Имя | Тип | Описание |
---|---|---|
uri (обязательно) | string | Расположение изображения. |
headers (обязательно) | object | Заголовки запроса. |
success (обязательно) | function | Функция, которая будет вызвана, если изображение было успешно найдено и получены его ширина и высота. |
failure | function | Функция, которая будет вызвана, если произошла ошибка, например, не удалось получить изображение. |
prefetch()¶
1 |
|
Предварительная выборка удаленного изображения для последующего использования путем загрузки его в дисковый кэш. Возвращает обещание, которое разрешается в булево значение.
Параметры:
Имя | Тип | Описание |
---|---|---|
url (обязательно) | string | Удаленное расположение изображения. |
callback | function | Функция, которая будет вызвана с указанием requestId . |
queryCache()¶
1 2 3 |
|
Выполните опрос кэша. Возвращает обещание, которое разрешается в отображение от URL к состоянию кэша, например "диск", "память" или "диск/память". Если запрашиваемого URL нет в связке, это означает, что его нет в кэше.
Параметры:
Имя | Тип | Описание |
---|---|---|
urls (обязательно) | array | Список URL-адресов изображений, для которых необходимо проверить кэш. |
resolveAssetSource()¶
1 2 3 4 5 6 |
|
Переводит ссылку на актив в объект, который имеет свойства uri
, scale
, width
и height
.
Параметры:
Имя | Тип | Описание |
---|---|---|
source (обязательно) | ImageSource , number | Число (непрозрачный тип, возвращаемый функцией require('./foo.png') ) или ImageSource. |
Определения типа¶
ImageCacheEnum ¶
Перечисление, которое можно использовать для установки обработки кэша или стратегии для потенциально кэшируемых ответов.
Тип | По-умолчанию |
---|---|
enum('default', 'reload', 'force-cache', 'only-if-cached') | 'default' |
default
: Использовать стратегию по умолчанию родной платформы.reload
: Данные для URL будут загружены из исходного источника. Никакие существующие данные кэша не должны использоваться для удовлетворения запроса на загрузку URL.force-cache
: Существующие кэшированные данные будут использованы для удовлетворения запроса, независимо от их возраста или срока действия. Если в кэше нет существующих данных, соответствующих запросу, данные загружаются из исходного источника.only-if-cached
: Существующие данные в кэше будут использованы для удовлетворения запроса, независимо от их возраста или срока действия. Если в кэше, соответствующем запросу на загрузку URL, нет существующих данных, попытка загрузить данные из исходного источника не предпринимается, и загрузка считается неудачной.
ImageLoadEvent¶
Объект, возвращаемый в обратном вызове onLoad
.
Тип |
---|
object |
Свойства:
Имя | Тип | Описание |
---|---|---|
source | object | Исходный объект |
Исходный объект:
Имя | Тип | Описание |
---|---|---|
width | number | Ширина загружаемого изображения. |
height | number | Высота загружаемого изображения. |
uri | string | Строка, представляющая идентификатор ресурса для изображения. |
ImageSource¶
Тип |
---|
object , object[] , number |
Свойства (при передаче в виде объекта или массива объектов):
Имя | Тип | Описание |
---|---|---|
uri | string | Строка, представляющая идентификатор ресурса изображения, который может быть http-адресом, локальным путем к файлу или именем статического ресурса изображения. |
width | number | Может быть указан, если известен на момент сборки, в этом случае его значение будет использовано для установки размера компонента <Image/> по умолчанию. |
height | number | Может быть указан, если известен на момент сборки, в этом случае его значение будет использовано для установки размера компонента <Image/> по умолчанию. |
scale | number | Используется для указания масштабного коэффициента изображения. По умолчанию равен 1.0 , если не задан, то один пиксель изображения равен одной точке отображения / DIP. |
bundle | string | Пакет активов iOS, в который включено изображение. Если значение не задано, то по умолчанию оно будет равно [NSBundle mainBundle] . |
method | string | Используемый метод HTTP. Если не указан, по умолчанию используется 'GET' . |
headers | object | Объект, представляющий HTTP-заголовки для отправки вместе с запросом на удаленное изображение. |
body | string | HTTP-тело для отправки вместе с запросом. Это должна быть корректная строка в формате UTF-8, и она будет отправлена именно в том виде, в котором указана, без применения дополнительных кодировок (например, URL-escaping или base64). |
cache | ImageCacheEnum | Определяет, как запросы обрабатывают потенциально кэшированные ответы. |
При передаче числа:
number
— непрозрачный тип, возвращаемый чем-то вродеrequire('./image.jpg')
.