image-rendering

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

* Some parts of this feature may have varying levels of support.

Thuộc tính CSS image-rendering đặt thuật toán thu phóng hình ảnh. Thuộc tính này áp dụng cho bản thân phần tử, cho bất kỳ hình ảnh nào được đặt trong các thuộc tính khác của nó, và cho các phần tử con của nó.

Try it

image-rendering: auto;
image-rendering: smooth;
image-rendering: crisp-edges;
image-rendering: pixelated;
<section id="default-example">
  <img
    class="transition-all"
    id="example-element"
    src="/shared-assets/images/examples/lizard.png" />
</section>
#example-element {
  height: 480px;
  object-fit: cover;
}

Tác nhân người dùng sẽ thu phóng hình ảnh khi tác giả trang chỉ định các kích thước khác với kích thước tự nhiên của nó. Việc thu phóng cũng có thể xảy ra do tương tác người dùng (phóng to). Ví dụ, nếu kích thước tự nhiên của hình ảnh là 100×100px nhưng kích thước thực tế của nó là 200×200px (hoặc 50×50px), thì hình ảnh sẽ được phóng to (hoặc thu nhỏ) bằng thuật toán được chỉ định bởi image-rendering. Thuộc tính này không có hiệu lực đối với các hình ảnh không được thu phóng.

Cú pháp

css
/* Giá trị từ khóa */
image-rendering: auto;
image-rendering: smooth;
image-rendering: crisp-edges;
image-rendering: pixelated;

/* Giá trị toàn cục */
image-rendering: inherit;
image-rendering: initial;
image-rendering: revert;
image-rendering: revert-layer;
image-rendering: unset;

Giá trị

auto

Thuật toán thu phóng phụ thuộc vào UA. Kể từ phiên bản 1.9 (Firefox 3.0), Gecko sử dụng lấy mẫu lại bilinear (chất lượng cao).

smooth

Hình ảnh nên được thu phóng bằng một thuật toán tối đa hóa vẻ ngoài của hình ảnh. Cụ thể, các thuật toán thu phóng "làm mịn" màu sắc là chấp nhận được, chẳng hạn như nội suy bilinear. Điều này dành cho các hình ảnh như ảnh chụp.

crisp-edges

Hình ảnh được thu phóng bằng một thuật toán như "nearest neighbor" để bảo tồn độ tương phản và các cạnh trong hình ảnh. Thường dành cho các hình ảnh như pixel art hoặc bản vẽ đường thẳng, không xảy ra làm mờ hoặc làm mịn màu sắc.

pixelated

Hình ảnh được thu phóng bằng thuật toán "nearest neighbor" hoặc tương tự đến bội số nguyên gần nhất của kích thước hình ảnh gốc, sau đó dùng nội suy mịn để đưa hình ảnh đến kích thước cuối cùng mong muốn. Điều này nhằm bảo tồn giao diện "pixel hóa" mà không gây ra các hiện vật thu phóng khi độ phân giải phóng to không phải là bội số nguyên của bản gốc.

Note: Các giá trị optimizeQualityoptimizeSpeed có trong một bản nháp đầu (và đến từ đối tác SVG image-rendering) được định nghĩa là từ đồng nghĩa tương ứng với các giá trị smoothpixelated.

Note: Mô-đun hình ảnh CSS định nghĩa một giá trị high-quality cho thuộc tính image-rendering để ưu tiên thu phóng chất lượng cao hơn, tuy nhiên điều này chưa được hỗ trợ trong bất kỳ trình duyệt nào.

Định nghĩa hình thức

Initial valueauto
Applies toall elements
Inheritedyes
Computed valueas specified
Animation typediscrete

Cú pháp hình thức

image-rendering = 
auto |
smooth |
high-quality |
pixelated |
crisp-edges

Ví dụ

Đặt thuật toán thu phóng hình ảnh

Trong ví dụ này, một hình ảnh được lặp lại ba lần, mỗi lần áp dụng một giá trị image-rendering khác nhau.

CSS

css
.auto {
  image-rendering: auto;
}

.smooth {
  image-rendering: smooth;
}

.pixelated {
  image-rendering: pixelated;
}

.crisp-edges {
  image-rendering: crisp-edges;
}

Kết quả

Đặc tả kỹ thuật

Specification
CSS Images Module Level 3
# the-image-rendering
Scalable Vector Graphics (SVG) 2
# ImageRendering

Tương thích trình duyệt

Xem thêm