我想尝试对一个Base64编码的图片进行旋转90度的操作,然后将其转换回Base64字符串。但不幸的是,我还没有成功实现这个想法。
目前为止,我已经做了以下工作:
image_string = StringIO(base64.b64decode(base64_string_here))
image = Image.open(image_string)
angle = 90
rotated_image = image.rotate( angle, expand=1 )
请帮忙教我如何将这个旋转的图像转换为base64字符串。
下面是旋转图像的dir()
:
['_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', 'rotate', 'save', 'seek', 'show', 'size', 'split', 'tell', 'thumbnail', 'tobitmap', 'tostring', 'transform', 'transpose', 'verify']
from io import BytesIO
和buffer = BytesIO()
。还要记住,buffer
已经是一个现有的内置名称(也许使用buffered
)。请查看细致的文档。 - Paoloimage = image.convert("RGB")
- Eugene Vimg_base64 = bytes("data:image/jpeg;base64,", encoding='utf-8') + img_str
。 - Johnny.decode("<format>")
。例如:img_base64_str = img_base64.decode("utf-8")
- Chris Hayes