Skip to content

Image

Image {
source: @image-url("mini-banner.png");
}
slint
image example

Use the Image element to display an image.

brush default: a transparent brush

When set, the image is used as an alpha mask and is drawn in the given color (or with the gradient).

Image {
source: @image-url("slint-logo-simple-dark.png");
colorize: darkorange;
}
slint
image example

image default: the empty image

The image type is a reference to an image. It’s defined using the @image-url("...") construct. The address within the @image-url function must be known at compile time.

Slint looks for images in the following places:

  1. The absolute path or the path relative to the current .slint file.
  2. The include path used by the compiler to look up .slint files.

Images can also be loaded from data: URIs, with either base64 or URL-encoded content. For example: @image-url("data:image/png;base64,iVBORw0KGgo...").

Access an image’s source dimension using its source.width and source.height properties.

export component Example inherits Window {
preferred-width: 150px;
preferred-height: 50px;
in property <image> some_image: @image-url("https://slint.dev/logo/slint-logo-full-light.svg");
Text {
text: "The image is " + some_image.width + "x" + some_image.height;
}
}
slint
// nine-slice scaling
export component Example inherits Window {
width: 100px;
height: 150px;
VerticalLayout {
Image {
source: @image-url("https://interactive-examples.mdn.mozilla.net/media/examples/border-diamonds.png", nine-slice(30 30 30 30));
}
}
}
slint

Use the `@image-url` macro to specify the image’s path.

enum ImageFit default: `contain` when the `Image` element is part of a layout, `fill` otherwise

Image {
width: 200px; height: 50px;
source: @image-url("mini-banner.png");
image-fit: fill;
}
slint
image fill example
Image {
width: 250px; height: 40px;
source: @image-url("mini-banner.png");
image-fit: contain;
}
slint
image contain example
Image {
width: 250px; height: 250px;
source: @image-url("mini-banner.png");
image-fit: cover;
}
slint
image cover example
Image {
width: 400px; height: 400px;
source: @image-url("mini-banner.png");
image-fit: preserve;
}
slint
image preserve example

enum ImageRendering default: smooth

Image {
width: 800px;
source: @image-url("mini-banner.png");
image-rendering: smooth;
}
slint
image smooth example
Image {
width: 800px;
source: @image-url("mini-banner.png");
image-rendering: pixelated;
}
slint
image pixelated example

enum ImageHorizontalAlignment default: center

The horizontal alignment of the image within the element.

enum ImageVerticalAlignment default: center

The vertical alignment of the image within the element.

enum ImageTiling default: none

How the image is tiled horizontally.

enum ImageTiling default: none

Image {
width: 400px;
height: 400px;
source: @image-url("slint-logo.png");
horizontal-tiling: repeat;
}
slint
image horizontal tiling repeat example
Image {
width: 400px;
height: 400px;
source: @image-url("slint-logo.png");
horizontal-tiling: round;
}
slint
image horizontal tiling round example
Image {
width: 400px;
height: 400px;
source: @image-url("slint-logo.png");
vertical-tiling: repeat;
}
slint
image vertical tiling repeat example
Image {
width: 400px;
height: 400px;
source: @image-url("slint-logo.png");
vertical-tiling: round;
}
slint
image vertical tiling round example
Image {
width: 400px;
height: 400px;
source: @image-url("slint-logo.png");
vertical-tiling: round;
horizontal-tiling: round;
}
slint
image vertical and horizontal tiling round example

int default: 0

int default: 0

int default: source.width - source.clip-x

int default: source.height - source.clip-y

Properties in source image coordinates that define the region of the source image that is rendered. By default the entire source image is visible:

Consider giving an alternative text description of your image by setting the accessible-label property:

Image {
width: 100px;
height: 100px;
source: @image-url("slint-logo.png");
accessible-label: "Slint logo";
}
slint

Filtering out images for users of assistive technologies

Section titled “Filtering out images for users of assistive technologies”

By default, images have the accessible-role property set to image. If your image is purely decorative and doesn’t convey any information, consider removing it from the accessibility tree:

Image {
source: @image-url("mini-banner.png");
accessible-role: none;
}
slint

© 2026 SixtyFPS GmbH