在Python中使用Shiny显示图像

1 投票
1 回答
59 浏览
提问于 2025-04-14 16:39

我想在Python的Shiny中显示一张图片,但我在代码中找不到错误。每次打开应用并输入图片时,文件都没有上传。

以下是代码:

from pathlib import Path
from shiny import render
from shiny.express import input, ui
from shiny import App, Inputs, Outputs, Session, reactive, render, ui
from shiny.types import FileInfo

ui.page_fluid(
    ui.input_file("file_input", "Upload Image"),  # Add file input
    ui.output_image("image")  
)

@render.image  
def image():
    img = {"src": input.file_input(), "width": "100px"}  
    return img

这样我就能显示这张图片了。

1 个回答

1

看起来你缺少了一些东西,比如没有初始化这个闪亮的应用程序,页面的布局没有定义好,还有一些小的语法问题。

试试这个:

from shiny import App, render, ui
from shiny.types import FileInfo

app = App()

@app.page_fluid
def page():
    input_file = ui.input_file("file_input", "Upload Image")
    output_image = ui.output_image("image")

    return [input_file, output_image]

@app.render.image
def render_image():
    img_src = input.file_input()
    img_width = "100px"
    return {"src": img_src, "width": img_width}

if __name__ == "__main__":
    app.run(debug=True)

撰写回答