跳转到内容

File

image 组件的 file 平台在编译时将静态图像嵌入到固件中。图像可以来自配置文件旁边的文件、从 URL 下载,或者来自 可免费使用的 Material Design Icon。

image:
- platform: file
file: mdi:alert-outline
id: alert
type: GRAYSCALE
transparency: alpha_channel
resize: 80x80
  • file (必填, string):

    • 本地文件:图像文件的路径(相对于 .yaml 文件的位置)。

    • Material Design Icons:指定 Material Design Icon 的 id,格式为 mdi:icon-name,该图标将自动下载并添加到配置中。

    • Material Design Light Icons:指定 Material Design Light Icon 的 id,格式为 mdil:icon-name,该图标将自动下载并添加到配置中。

    • Memory Icons:指定 Memory Icon 的 id,格式为 memory:icon-name,该图标将自动下载并添加到配置中。

    • 远程文件:图像文件的 URL,以 http:// 或 https:// 开头。文件在编译时下载一次。

    所有来源都支持 SVG 文件;它们将在编译时按 resize 给定的尺寸渲染。

  • id (必填, ID):以后在 display 代码中引用图像的 ID。

  • resize (可选, string):如果设置,这将把图像缩放到适合给定尺寸 WIDTHxHEIGHT 并保留宽高比。

  • type (必填):指定内部图像编码方式。

    • BINARY:两种颜色,适用于 1 色显示器或色彩显示器中的 2 色图像。每像素使用 1 位, 每字节 8 像素。仅支持 chroma_key 透明度。

    • GRAYSCALE:全范围灰度。每像素使用 8 位,每字节 1 像素。

    • RGB565:有损 RGB 颜色存储。每像素使用 2 字节,带 alpha 通道时为 3 字节。

    • RGB:完整 RGB 颜色存储。每像素使用 3 字节,带 alpha 通道时为 4 字节。

  • transparency (可选):如果设置,将考虑输入图像的 alpha 通道。可选值为 opaque(默认)、chroma_key 和 alpha_channel。二进制图像不支持 alpha_channel。参见 image 组件 中关于透明度的讨论。

  • invert_alpha (可选, boolean):仅适用于二进制和灰度图像,这将反转颜色,即黑白互换。适用于电子墨水显示器。默认为 false。

  • dither (可选):指定用于处理图像的抖动方法,仅用于 GRAYSCALE 和 BINARY 类型图像。默认为 NONE。你可以在 Pillow 文档 和 Wikipedia 上了解更多相关内容。

    • NONE:每个像素转换为其最近的颜色。
    • FLOYDSTEINBERG:使用 Floyd-Steinberg 抖动来逼近原始图像的亮度级别。
  • byte_order (可选, string):对于 RGB565 图像,像素被转换为 16 位值。默认情况下它们将以小端字节序(低位优先)存储, 但你可以通过将 byte_order 设置为 big_endian 来覆盖此设置。可选值为 little_endian(默认)和 big_endian。 不适用于其他图像格式。 在显示器和 LVGL 中使用的图像预期是小端格式。

除了字符串简写形式,file 选项还接受带类型的 source: 形式:

image:
- platform: file
id: local_image
file:
source: local
path: "image.png"
type: RGB565
- platform: file
id: web_image
file:
source: web
url: "https://media.esphome.io/logo/logo.png"
type: RGB565
- platform: file
id: alert_icon
file:
source: mdi
icon: alert-outline
type: BINARY
  • source (必填, string):local、web、mdi、mdil 或 memory 之一。
  • path (必填(local 时), string):图像文件的路径(相对于 .yaml 文件的位置)。
  • url (必填(web 时), url):下载图像文件的 URL。
  • icon (必填(mdi、mdil 和 memory 时), string):图标名称,不包含 mdi: 样式前缀。