显示一张图片或图片列表。

函数签名[source]

st.image(image, 标题=None, 宽度=None, 使用列宽=None, 限制=False, 通道="RGB", 输出格式="auto", *, 使用容器宽度=False)

参数

image (numpy.ndarray, BytesIO, str, Path, 或这些的列表)

要显示的图像。这可以是以下之一:

  • 托管图像的URL(字符串)。
  • 本地图像文件的路径。路径可以是strPath对象。路径可以是绝对的,也可以是相对于工作目录的(你在其中执行streamlit run)。
  • xmlns=...这样的SVG字符串。
  • 定义图像的字节数组。这包括形状为(w,h)或(w,h,1)的单色图像,形状为(w,h,3)的彩色图像,或形状为(w,h,4)的RGBA图像,其中w和h分别是图像的宽度和高度。
  • 上述任何内容的列表。Streamlit将列表显示为一行图像,根据需要溢出到额外的行。

caption (str or list of str)

图像标题。如果这是None(默认值),则不显示标题。如果image是多个图像的列表,caption必须是标题列表(每个图像一个标题)或None

width (int or None)

图像宽度。如果这是None(默认值),Streamlit将使用图像的原始宽度,最大不超过父容器的宽度。 当使用没有默认宽度的SVG图像时,您应该声明width或使用use_container_width=True

use_column_width ("auto", "always", "never", 或 bool)

删除

use_column_width 已被弃用,并将在未来的版本中移除。请改用 use_container_width 参数。

如果为 "auto",将图像的宽度设置为其自然大小,但不超过列的宽度。 如果为 "always" 或 True,将图像的宽度设置为列的宽度。 如果为 "never" 或 False,将图像的宽度设置为其自然大小。 注意:如果设置了 use_column_width,它将优先于 width 参数。

clamp (bool)

是否将图像像素值限制在有效范围内(每个通道0-255)。这仅用于字节数组图像;对于图像URL和文件,该参数将被忽略。如果这是False(默认值)并且图像具有超出范围的值,则会引发RuntimeError

channels ("RGB" 或 "BGR")

imagend.array时的颜色格式。对于其他图像类型,此设置将被忽略。如果这是"RGB"(默认), image[:, :, 0]是红色通道,image[:, :, 1]是绿色通道,image[:, :, 2]是蓝色通道。对于来自像OpenCV这样的库的图像,你应该将此设置为"BGR"

output_format ("JPEG", "PNG", 或 "auto")

传输图像数据时使用的输出格式。如果这是"auto"(默认),Streamlit 会根据图像的类型和格式识别压缩类型。照片应使用"JPEG"格式进行有损压缩,而图表应使用"PNG"格式进行无损压缩。

use_container_width (bool)

是否用父容器的宽度覆盖width。如果use_container_widthFalse(默认), Streamlit会根据width设置图像的宽度。如果use_container_widthTrue, Streamlit会将图像的宽度设置为与父容器的宽度匹配。

示例

import streamlit as st
st.image("sunrise.jpg", caption="Sunrise by the mountains")
forum

还有问题吗?

我们的 论坛 充满了有用的信息和Streamlit专家。