QRcode python 库的 color_mask 显示无类型错误

问题描述 投票:0回答:1

我正在使用 streamlit 库和 qrcode 库为我的项目制作 QRgenerator。 ** 部分代码如下:**

qr_eyes_img = qr.make_image(image_factory=StyledPilImage,eye_drawer=RoundedModuleDrawer(radius_ratio=1.2), color_mask=SolidFillColorMask(back_color=(255, 255,255),front_color=(255,110,0)))

我的问题是 back_color 和 front_color 不接受来自 st.color_picker 的输入。我尝试了很多选择。它总是给我无类型错误等

有什么建议让上面的代码接受来自 st.color_picker 的输入吗?

python qr-code streamlit
1个回答
0
投票

尝试将颜色值从

st.color_picker()
转换为表示 RGB 值的整数元组,然后您可以将其传递给
qr.make_image()
函数:

# Color pickers for the background and foreground colors
back_color = st.color_picker("Choose background color", "#FFFFFF")
front_color = st.color_picker("Choose foreground color", "#FF6E00")

# Convert color values to tuples of integers
back_color_tuple = tuple(int(x, 16) for x in (back_color[1:3], back_color[3:5], back_color[5:]))
front_color_tuple = tuple(int(x, 16) for x in (front_color[1:3], front_color[3:5], front_color[5:]))

最后,用上面的变量替换

color_mask
中的值:

color_mask=SolidFillColorMask(back_color=back_color_tuple, front_color=front_color_tuple)

如果这能解决问题,请告诉我。

© www.soinside.com 2019 - 2024. All rights reserved.