The <image> component is used to render and display images.
The initial APIs of this module are supported since API version 8. Updates will be marked with a superscript to indicate their earliest API version.
In addition to the universal attributes, the following attributes are supported.
| Name | Type | Default Value | Mandatory | Description |
|---|---|---|---|---|
| src | string | - | No | Image path. - The local path is supported. Supported formats are as follows: PNG, JPG, BMP, SVG, and GIF. - The path to the in-memory image is also supported in the format of memory://. NOTE To display an online image, download it and then access it with its in-memory path. Do not use URLs. |
| alt | string | - | No | Placeholder image displayed during image loading. |
In addition to the universal styles, the following styles are supported.
| Name | Type | Default Value | Mandatory | Description |
|---|---|---|---|---|
| object-fit | string | cover | No | Image scale type. For details about available values, see object-fit. This style is not supported for SVG images. |
| match-text-direction | boolean | false | No | Whether image orientation changes with the text direction. This style is not supported for SVG images. The default value is false, indicating that image orientation does not change with the text direction. |
| fit-original-size | boolean | false | No | Whether the <image> component adapts to the image source size when its width and height are not set. If this style is set to true, object-fit will not take effect. This style is not supported for SVG images. The default value is false, indicating that the <image> component does not adapt to the image source size when its width and height are not set. |
Table 1 object-fit
| Type | Description |
|---|---|
| cover | The image is scaled with its aspect ratio retained for both sides to be greater than or equal to the display boundaries and displayed in the middle. |
| contain | The image is scaled with the aspect ratio retained for the image to be completely displayed within the display boundaries and displayed in the middle. |
| fill | The image is scaled to fill the display area, and its aspect ratio is not retained. |
| none | The image is displayed in the middle with its aspect ratio and size retained. |
| scale-down | The image is displayed in the middle with its aspect ratio retained. The size is equal to or smaller than the original size. |
When using an SVG image, note that:
The SVG image will not be drawn if the length or width of the <image> component is infinity.
If the image length and width are not specified in the SVG description, the SVG image fills the <image> component area.
If the image length and width are specified in the SVG description, the following rules are adopted to decide the final display effect:
If the <image> component is too small to afford the SVG image, the SVG image is cropped and only its upper left part is displayed in the component.
If the <image> component is big enough to afford the SVG image, this SVG image is displayed in the upper left corner of the component.