【问题标题】:How do I work with "image data as a byte string", using Python?如何使用 Python 将“图像数据作为字节字符串”处理?
【发布时间】:2011-06-02 07:29:44
【问题描述】:

首先我要解释我要做什么,然后解释我的问题。

好的,所以我一直在为一个项目制作原型,希望能在夏天完成。该项目是一个小型媒体播放器,其中一个要求是显示 mp3 文件的专辑插图。

经过一番研究,我发现了这个库: http://code.google.com/p/mutagen/

我选择这个库的原因是因为它没有任何依赖项,它会让我的应用程序更便携。

在修改了代码之后,我能够从 mp3 文件中检索数据,例如艺术家和录音年份等。我将在这里做一个小演示:

from mutagen.mp3 import MP3
audio = MP3("born.mp3")
artist = audio["TPE1"]
print artist

如果这没有多大意义,这是诱变剂提供的教程 - http://code.google.com/p/mutagen/wiki/Tutorial(有点短)

问题 - 我想使用 pygame 显示图像。通常这会是这样的:

 monkey = pygame.image.load("monkey.jpg")

 screen.blit(monkey,(0,0))

但我想使用图像文件中的图像。因此,从第一个示例开始,它的内容如下:

audio = MP3("born.mp3")
data = audio.tags['APIC:'].data
monkey = pygame.image.load(data)

但是 pygame 会抛出异常错误,因为变量 'value' 的数据类型是作为字节字符串的原始图像数据。

问题 - 是否可以将字节字符串转换为某种图像格式以便 pygame 可以使用它?

关于图像的 python 文档 - http://www.pygame.org/docs/ref/image.html

我不确定是否可以按照我的要求做,所以请原谅我!

【问题讨论】:

    标签: python image pygame byte


    【解决方案1】:

    你试过pygame.image.fromstring()吗?

    注意:由于它是原始数据,因此您需要提前了解一些细节,例如分辨率和颜色深度。

    【讨论】:

    • 嗨,我正在尝试,但我不断收到错误,所以我不确定我是否走在正确的轨道上。你可以给我一个例子吗?谢谢
    • 我会尽量记住稍后再查看。我没有嵌入图像数据的 mp3 文件,也没有安装 pygame。我可以说 PIL (python-imaging) 和 matplotlib 将是我正在做的事情的首选:import Image;从 matplotlib 导入 pyplot 作为 p; im = Image.fromstring((w,h), 'RGB', 数据); p.imshow(im); p.show()
    猜你喜欢
    • 2013-07-31
    • 1970-01-01
    • 2019-12-05
    • 1970-01-01
    • 2021-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多