微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 Python 中,我无法使用 PIL 正确打开一些 png 图像

如何解决在 Python 中,我无法使用 PIL 正确打开一些 png 图像

我有两个 png 图像,如果我尝试打开它们(这是代码

from PIL import Image 

x = Image.open('png/x-tictactoe.png')
o = Image.open('png/o-tictactoe.png')
print(x)
print(o)

第一行以png格式正常打开图片,第二行自动以jpeg格式打开图片

输出如下:

"C:\Users\Delfino De Chicchis\PycharmProjects\TicTacToe\venv\Scripts\python.exe" "C:/Users/Delfino De Chicchis/PycharmProjects/TicTacToe/test.py"
<PIL.PngImagePlugin.PngImageFile image mode=RGBA size=860x898 at 0x27FA46330A0>
<PIL.JpegImagePlugin.JpegImageFile image mode=L size=880x1004 at 0x27FA67E8C10>

Process finished with exit code 0

我只想将两个文件都打开为 png,以便使用 RGBA 制作透明背景。

有人可以帮我吗?

解决方法

文件的扩展名不一定是其内容的正确指示符 - 它只是一个 Windows 概念。大多数文件的开头都有一个 recognisable “幻数”,或“签名”

因此,如果您没有本地安装的十六进制,请尝试以十六进制转储 “不高兴” PNG 文件的内容,或者在 hexedit 等在线十六进制编辑器中打开它可用的工具。

对于 PNG,您应该会看到如下所示的有效 PNG signature

89 50 4e 47 0d 0a 1a 0a ... (in ASCII 50="P",4e="N",47="G")

对于 JPEG,您应该看到一个有效的 JPEG signature,如下所示:

ff d8 ff ...
,

使用此 display(x) and display(o) 如果不起作用,请检查目录。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。