【问题标题】:Python - Convert string to imagePython - 将字符串转换为图像
【发布时间】:2019-02-12 11:35:48
【问题描述】:

我正在使用https://github.com/appknox/pyaxmlparser 来解析apk。

有一个属性可以获取图标数据:

apk.icon_data

当我打印输出时,我有一个这样的字符串:

\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\xc0\x00\x00\x00\xc0\x08\x06\x00\x00\x00R\xd

(太长了)

这是什么?

如何使用这个字符串来获取真实的图像文件?甚至将其转换为 Base64 格式

【问题讨论】:

  • 这似乎是组成 PNG 文件的字节 - 尝试将它们写入扩展名为 .png 的文件,然后使用图像查看器打开它
  • 谢谢。我要检查这个@nosklo

标签: python parsing xml-parsing apk


【解决方案1】:

apk.icon_data 返回字节数组(unicode UTF-16)中的值。在 Python 中,Pillow 支持字节数组到图像的转换。您可以查看此issue 了解详情 -

import sys
from pyaxmlparser import APK
from PIL import Image
from io import BytesIO

apk = APK ('apk/file/path.apk')

LEFT_THUMB = apk.icon_data

stream = BytesIO(LEFT_THUMB)

image = Image.open(stream).convert("RGBA")
stream.close()
image.save('out.png')

【讨论】:

    猜你喜欢
    • 2013-07-31
    • 1970-01-01
    • 2018-09-07
    • 2013-07-23
    • 2014-07-21
    • 2020-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多