2015-08-05 23 views
11

Base64 kodlu bir görüntüyü 90 açıda döndürecek şekilde değiştirmeye çalışıyorum. Bu işlemden sonra, onu base64 dizesine dönüştürmek istiyorum. Fakat maalesef bunu henüz başaramadık. İşte PIL Image.image nesnesine base64 dizesi nasıl dönüştürülür?

şimdiye kadar yapmış budur:

image_string = StringIO(base64.b64decode(base64_string_here)) 
image = Image.open(image_string) 
angle = 90 
rotated_image = image.rotate(angle, expand=1) 

Kindy nasıl base64 dizesine bu rotated_image dönüştürmek için bana yardım et.

[ '_Image__transformer', '__doc__', '__getattr__', '__init__', '__module__', '__repr__', '_copy', '_dump', ': burada

rotated_image ait dir() bulunuyor _expand ',' _makeself ',' _new ',' category ',' convert ',' copy ',' kırpma ',' taslak ',' filter ',' format ',' format_description ',' fromstring ',' getbands ' 'getbbox', 'getcolors', 'getdata', 'getextrema', 'getim', 'getpalette', 'getpixel', 'getprojection', 'histogram', 'im', 'info', 'load', ' mod ',' offset ',' palette ',' paste ',' point ',' putalpha ',' putdata ',' putpalette ',' putpixel ',' quantize ',' readonly ',' resize ',' rotate ' 'kaydet', 'ara', 'show', 'size', 'split', 'tell', 'thumbnail', 'tobitmap', 'tostring', 'transform', 'transpoze', 'doğrulayın']

cevap

32

Python 3

import base64 
from io import BytesIO 

buffered = BytesIO() 
image.save(buffered, format="JPEG") 
img_str = base64.b64encode(buffered.getvalue()) 

Python 2

import base64 
import cStringIO 

buffer = cStringIO.StringIO() 
image.save(buffer, format="JPEG") 
img_str = base64.b64encode(buffer.getvalue()) 
+17

I = BytesIO tampon 'o python3.4 size io ithalat BytesIO' gelen' yazmalı demek ve istiyorum() '. Ayrıca 'arabellek' zaten varolan yerleşik bir isim olduğunu unutmayın ('arabellek' kullanabilirsiniz). [Güzel belgeler] (https://docs.python.org/3/library/io.html#binary-i-o). – Paolo