鱼C论坛

 找回密码
 立即注册
查看: 3505|回复: 4

[已解决]PySimpleGUI报错: couldn't recognize image data

[复制链接]
发表于 2023-7-18 11:01:58 | 显示全部楼层
根据你提供的代码和错误提示,问题可能出在图像的加载上。PySimpleGUI 的 Button 元素可以通过参数 image_data 加载图像数据,但是需要满足一定的条件。

首先,确保图片文件路径是正确的,并且可读取。你可以检查文件路径是否正确,以及确认图片文件存在。

其次,确认你使用的是正确的图像格式。PySimpleGUI 支持常见的图像格式,如 PNG、JPEG 等。请确保你的图片文件是支持的格式,并且没有损坏。

最后,确保将图像数据正确转换为 base64 编码,并传递给 image_data 参数。你的代码中已经使用了 base64.b64decode() 来进行解码,但是需要确认文件的读取和解码过程没有出错。

使用 PySimpleGUI 加载图像的示例代码如下:
  1. import PySimpleGUI as sg
  2. import base64
  3. # 读取图片文件并转换为 base64 编码
  4. with open(r'C:\Users\Administrator\Desktop\测试4\3.png', 'rb') as f:
  5.     image_data = base64.b64encode(f.read())
  6. layout = [[sg.B(image_data=image_data, key='-OK-')]]
  7. window = sg.Window('按钮图形', layout)
  8. while True:
  9.     event, values = window.read()
  10.     if event == sg.WINDOW_CLOSED:
  11.         break
  12. window.close()
复制代码

请确保你的代码中图片文件的路径正确,而且可读取。如果问题仍然存在,请检查图片文件的格式和完整性,以及图像数据转换的过程是否正确。如果问题仍然无法解决,请提供更详细的错误信息以便进行进一步的排查。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-9-23 03:44

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表