web-dev-qa-db-fra.com

Comment convertir un objet PIL Image.image en chaîne base64?

J'essaie de manipuler une image encodée en base64 de manière à la faire pivoter à 90 degrés. Après cette manipulation, je veux le reconvertir en chaîne base64. Mais malheureusement pas encore en mesure d'y parvenir.

Voici ce que j'ai fait jusqu'à présent:

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

Veuillez m'aider à convertir cette image pivotée en chaîne base64.

voici la dir() de rotated_image:

['_Image__transformer', '__doc__', '__getattr__', '__init__', '__module__', '__repr__', '_copy', '_dump', '_expand', '_makeself', '_new', 'category', ' convert ',' copy ',' crop ',' draft ',' filter ',' format ',' format_description ',' fromstring ',' getbands ',' getbbox ',' getcolors ',' getdata ',' getextrema ' , 'getim', 'getpalette', 'getpixel', 'getprojection', 'histogram', 'im', 'info', 'load', 'mode', 'offset', 'palette', 'paste', ' point ',' putalpha ',' putdata ',' putpalette ',' putpixel ',' quantize ',' readonly ',' resize ',' rotation ',' save ',' Chercher ',' show ',' size ' , 'split', 'tell', 'thumbnail', 'tobitmap', 'tostring', 'transform', 'transpose', 'verify']

25
Hammad Qureshi

Python

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())
74
user3255354