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

In Python I can't open some png images properly using PIL

我有两个 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 制作透明背景。

有人可以帮助我吗?

使用这个display(x) and display(o) 如果不工作检查目录。

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

因此,请尝试将 "unhappy" 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 ...