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
'파이썬' 카테고리의 다른 글
파이썬 동일한 파일 이름이 이미있는 경우 이동하고 바꾸시겠습니까? (0) | 2020.11.20 |
---|---|
파이썬 How to create a list of objects? (0) | 2020.11.20 |
파이썬 POST 요청을 pycurl 코드로 컬 (0) | 2020.11.20 |
파이썬 easy_install보다 pip를 사용하는 이유는 무엇입니까? (0) | 2020.11.20 |
파이썬 문자열에서 하위 문자열의 첫 번째 발생을 어떻게 찾을 수 있습니까? (0) | 2020.11.20 |
댓글