LoginSignup
0
0

Streamlit - Drawable Canvas で background_image が表示されない問題

Posted at

はじめに

Streamlit - Drawable Canvas を利用して、
Canvas 描かれた内容をもとに画像を更新し、
更新結果の画像を Canvas の背景に反映するというアプリを作っていた

その際に、背景の画像を更新すると何も表示されないことがあり、その時の解決方法のメモ

結論

st_canvasの引数keyを設定しなければならない

問題発生時の状況

次のようにして Canvas を表示していた。
何度か更新すると Canvas に何も表示されなくなってしまった。

    canvas_result = st_canvas(
        background_image=Image.fromarray(background_image),
        height=600,
        width=600,
        display_toolbar=False,
    )

毎回表示されないわけではなく法則性がなく困っていたが、コンソールには次のような内容が表示されていた。

2024-04-15 18:07:23.450 MediaFileHandler: Missing file fb4b097d1706ab90da03289622f1c240944c60d5c72a77f5075ec68f.png

解決方法

試行錯誤したが、次のように引数keyを設定したら当事象が起きることは無くなった

    canvas_result = st_canvas(
        background_image=Image.fromarray(background_image),
        height=600,
        width=600,
        display_toolbar=False,
        key="canvas"
    )
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0