[英]Is there any Python method to convert base64 encoded string to Image
[英]python: convert base64 encoded png image to jpg
我想使用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
替換from StringIO import StringIO
。
從PIL教程開始:
要保存文件,請使用Image類的save方法。 保存文件時,名稱變得很重要。 除非您指定格式,否則庫使用文件擴展名來發現要使用的文件存儲格式。
import os, sys
import Image
for infile in sys.argv[1:]:
f, e = os.path.splitext(infile)
outfile = f + ".jpg"
if infile != outfile:
try:
Image.open(infile).save(outfile)
except IOError:
print "cannot convert", infile
所以你要做的就是將文件擴展名設置為.jpeg
或.jpg
,它會自動轉換圖像。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.