python:将base64编码的png图像转换为jpg

标签 python image png jpeg

我想使用 python 将一些 base64 编码的 png 图像转换为 jpg。我知道如何从 base64 解码回原始格式:

import base64 
pngraw = base64.decodestring(png_b64text)

但是我现在如何将其转换为 jpg?将 pngraw 写入文件显然只会给我一个 png 文件。 我知道我可以使用 PIL,但我具体应该怎么做呢?谢谢!

最佳答案

您可以使用 PIL :

data = b'''iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAIBJRE
          FUOMvN08ENgCAMheG/TGniEo7iEiZuqTeiUkoLHORK++Ul8ODPZ92XS2ZiADITmwI+sWHwi
          w2BGtYN1jCAZF1GMYDkGfJix3ZK8g57sJywteTFClBbjmAq+ESiGIBEX9nCqgl7sfyxIykt
          7NUUD9rCiupZqAdTu6yhXgzgBtNFSXQ1+FPTAAAAAElFTkSuQmCC'''

import base64
from PIL import Image
from io import BytesIO

im = Image.open(BytesIO(base64.b64decode(data)))
im.save('accept.jpg', 'JPEG')

在非常旧的 Python 版本(2.5 及更早版本)中,将 b''' 替换为 ''' 并将 from io import BytesIO 替换为从 StringIO 导入 StringIO

关于python:将base64编码的png图像转换为jpg,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6966205/

相关文章:

java - java中使用java.awt.Graphics2D的变形图像

image - Love2d旋转图像

python - 制作 Counter.most_common 返回字典

python - 最接近用户输入的数字

javascript - jquery从php脚本预加载图像然后显示

c# - 在 PNG 中将 16 位灰度映射到 8 位

html - dia 导出为 html

java - 如何在 JFrame 上正确显示 PNG

python - 使用 Python 调用 REST 服务

php - 从 PHP 启动独立的 Python 进程