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

enum ImageHorizontalAlignment default: center

enum ImageVerticalAlignment default: center

enum ImageTiling default: none

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

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

Rotates the text by the given angle around the specified origin point. The default origin point is the center of the element. When these properties are set, the Image can’t have children.

Image {
x: 0;
y: 0;
source: @image-url("images/slint-logo.svg");
rotation-angle: 45deg;
rotation-origin-x: 0;
rotation-origin-y: 0;
}
slint

angle default: 0deg

length default: self.width / 2

length default: self.height / 2

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.

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.

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

© 2025 SixtyFPS GmbH