본문 바로가기
파이썬

파이썬 How to convert PIL Image.image object to base64 string?

by º기록 2020. 11. 20.
반응형

90 각도로 회전하는 방식으로 base64로 인코딩 된 이미지를 조작하려고합니다. 이 조작 후에 다시 base64 문자열로 변환하고 싶습니다. 그러나 불행히도 아직 이것을 달성 할 수 없습니다.

지금까지 내가 한 일은 다음과 같습니다.

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

Kindy는이 rotated_image를 base64 문자열로 변환하는 방법을 도와줍니다.

회전 된 이미지의 for () 는 다음과 같습니다.

[ '_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']

 

해결 방법

 

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

 

참조 페이지 https://stackoverflow.com/questions/31826335

 

 

반응형

댓글