我试过了:
import pygame
import urllib.request
page = urllib.request.urlopen("http://s.gjcdn.net/img/logo-small-3.png")
image = page.read()
pygame_image = pygame.image.frombuffer(image, (196, 25), "RGB") #(196, 25) are checked on image original
但是当我运行它时,我得到ValueError: Buffer length does not equal format and resolution size
有没有办法做到这一点(没有将文件保存到磁盘上),或者我的代码中出错了?
我还想知道如何知道图像的大小(因为我大多数不能知道图像的大小)?
答案 0 :(得分:0)
尝试将其置于RGBA格式?毕竟,图像确实包含alpha值。 如果这没有帮助,那就有这个问题。它正在处理套接字,但它可能是相关的。 Pygame not working with sockets
答案 1 :(得分:0)
image.frombuffer
用于从已作为图像缓冲区加载到内存中的数据创建图像。你想要的是image.load
,它获取一个图像文件并将其转换为图像缓冲区。您应该只能将page
传递给它,因为它已经是一个类似文件的对象。