python:将base64编码的png图像转换为jpg(python: convert base64 encoded png image to jpg)
我想使用python将一些base64编码的png图像转换为jpg。 我知道如何从base64解码回raw:
import base64 pngraw = base64.decodestring(png_b64text)但我怎么能现在转换为JPG格式? 只要将pngraw写入文件显然只会给我一个png文件。 我知道我可以使用PIL,但是我到底该怎么做? 谢谢!
I want to convert some base64 encoded png images to jpg using python. I know how to decode from base64 back to raw:
import base64 pngraw = base64.decodestring(png_b64text)but how can I convert this now to jpg? Just writing pngraw to a file obviously only gives me a png file. I know I can use PIL, but HOW exactly would I do it? Thanks!
最满意答案
你可以使用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替换from StringIO import StringIO 。
You can use 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')In very old Python versions (2.5 and older), replace b''' with ''' and from io import BytesIO with from StringIO import StringIO.
更多推荐
发布评论