Référence de l'API des ressources
Ajouté à la version :
astro@3.0.0
Astro fournit des composants intégrés et des fonctions d’aide pour optimiser et afficher vos images. Pour des fonctionnalités et des exemples d’utilisation, consultez notre guide d’images.
Importations depuis astro:assets
Titre de la section Importations depuis astro:assets<Image />
Titre de la section <Image />Propriétés d’Image
Titre de la section Propriétés d’ImageLe composant <Image />
accepte toutes les propriétés acceptées par la balise HTML <img>
en plus des propriétés décrites ci-dessous.
src (obligatoire)
Titre de la section src (obligatoire)Type : ImageMetadata | string | Promise<{ default: ImageMetadata }>
Le format de la valeur src
de votre fichier image dépend de l’emplacement de votre fichier image :
-
Images locales dans
src/
- vous devez également importer l’image en utilisant un chemin de fichier relatif ou configurer et utiliser un alias d’importation. Utilisez ensuite le nom de l’importation comme valeur danssrc
: -
Images dans le dossier
public/
- utilisez le **chemin d’accès au fichier de l’image par rapport au dossier public : -
Images distantes - utilisez l’URL complète de l’image comme valeur de propriété :
alt (obligatoire)
Titre de la section alt (obligatoire)Type : string
Utilisez l’attribut alt
requis pour fournir un texte alternatif descriptif pour les images.
Si une image est simplement décorative (c’est-à-dire qu’elle ne contribue pas à la compréhension de la page), définissez alt=""
pour que les lecteurs d’écran et autres technologies d’assistance sachent qu’il faut ignorer l’image.
width et height (obligatoire pour les images dans public/
)
Titre de la section width et height (obligatoire pour les images dans public/)Type : number | undefined
Ces propriétés définissent les dimensions à utiliser pour l’image.
Lorsque vous utilisez des images dans leur rapport hauteur/largeur d’origine, width
et height
sont facultatives. Ces dimensions peuvent être automatiquement déduites des fichiers image situés dans src/
. Pour les images distantes, ajoutez l’attribut inferSize
défini sur true
sur les composants <Image />
ou <Picture />
ou utilisez la fonction inferRemoteSize()
.
Cependant, ces deux propriétés sont requises pour les images stockées dans votre dossier public/
car Astro n’est pas en mesure d’analyser ces fichiers.
densities
Titre de la section densitiesType : (number | `${number}x`)[] | undefined
astro@3.3.0
Une liste de densités de pixels à générer pour l’image.
Si elle est fournie, cette valeur sera utilisée pour générer un attribut srcset
sur la balise <img>
. Ne fournissez pas de valeur pour widths
lorsque vous utilisez cette valeur.
Les densités égales à des largeurs supérieures à celles de l’image d’origine seront ignorées pour éviter de mettre à l’échelle l’image.
Type : number[] | undefined
astro@3.3.0
Une liste de largeurs à générer pour l’image.
Si elle est fournie, cette valeur sera utilisée pour générer un attribut srcset
sur la balise <img>
. Une propriété sizes
doit également être fournie.
Ne fournissez pas de valeur pour densities
lorsque vous utilisez cette valeur. Une seule de ces deux valeurs peut être utilisée pour générer un srcset
.
Les largeurs supérieures à l’image d’origine seront ignorées pour éviter de mettre à l’échelle l’image.
Type : ImageOutputFormat | undefined
Vous pouvez éventuellement indiquer le type de fichier image de sortie à utiliser.
Par défaut, le composant <Image />
produira un fichier .webp
.
quality
Titre de la section qualityType : ImageQuality | undefined
quality
est une propriété facultative qui peut être :
- un préréglage (
low
,mid
,high
,max
) qui est automatiquement normalisé entre les formats. - un nombre compris entre
0
et100
(interprété différemment selon les formats).
inferSize
Titre de la section inferSizeType : boolean
astro@4.4.0
Vous permet de définir automatiquement la largeur (width
) et la hauteur (height
) d’origine d’une image distante.
Par défaut, cette valeur est définie sur false
et vous devez spécifier manuellement les deux dimensions de votre image distante.
Ajoutez inferSize
au composant <Image />
(ou inferSize: true
à getImage()
) pour déduire ces valeurs du contenu de l’image lors de la récupération. Cela est utile si vous ne connaissez pas les dimensions de l’image distante ou si elles peuvent changer :
inferSize
peut récupérer les dimensions d’une image distante d’un domaine qui n’a pas été autorisé, , cependant l’image elle-même restera non traitée.
<Picture />
Titre de la section <Picture />
Ajouté à la version :
astro@3.3.0
Utilisez le composant Astro intégré <Picture />
pour afficher une image réactive avec plusieurs formats et/ou tailles.
Propriétés de Picture
Titre de la section Propriétés de Picture<Picture />
accepte toutes les propriétés du composant <Image />
en plus des suivantes :
formats
Titre de la section formatsType : ImageOutputFormat[]
Un tableau de formats d’image à utiliser pour les balises <source>
. Les entrées seront ajoutées en tant qu’éléments <source>
dans l’ordre dans lequel elles sont répertoriées, et cet ordre détermine le format affiché. Pour de meilleures performances, indiquez d’abord le format le plus moderne (par exemple webp
ou avif
). Par défaut, ce paramètre est défini sur ['webp']
.
fallbackFormat
Titre de la section fallbackFormatType : ImageOutputFormat
Format à utiliser comme valeur de secours pour la balise <img>
. La valeur par défaut est .png
pour les images statiques (ou .jpg
si l’image est au format JPG), .gif
pour les images animées et .svg
pour les fichiers SVG.
pictureAttributes
Titre de la section pictureAttributesType : HTMLAttributes<'picture'>
Un objet d’attributs à ajouter à la balise <picture>
.
Utilisez cette propriété pour appliquer des attributs à l’élément externe <picture>
lui-même. Les attributs appliqués directement au composant <Picture />
s’appliqueront à l’élément interne <img>
, à l’exception de ceux utilisés pour la transformation d’image.
getImage()
Titre de la section getImage()Type : (options: UnresolvedImageTransform) => Promise<GetImageResult>
getImage()
s’appuie sur des API serveur uniquement et interrompt la construction lorsqu’il est utilisé sur le client.
La fonction getImage()
est prévue pour générer des images destinées à être utilisées ailleurs que directement en HTML, par exemple dans une route d’API. Elle vous permet également de créer votre propre composant <Image />
personnalisé.
getImage()
prend un objet d’options avec les mêmes propriétés que le composant Image (à l’exception de alt
).
Elle renvoie un objet avec le type suivant :
inferRemoteSize()
Titre de la section inferRemoteSize()Type : (url: string) => Promise<Omit<ImageMetadata, 'src' | 'fsPath'>>
astro@4.12.0
Une fonction permettant de déduire les dimensions des images distantes. Elle peut être utilisée comme alternative à la transmission de la propriété inferSize
.