6

I want resize base64 encoded image in python.I searched I could not find. I used Pillow package to do it. However, Pillow has no such kind of feature .

Elvin Jafarov
  • 1,341
  • 11
  • 25
  • 2
    I don't think there is a single one library which would operate over base64 encoded images. Convert from base64, resize, convert to base64. – Ecir Hana May 03 '20 at 12:56

1 Answers1

8

This code does the job (Python 3):

import io
import base64
from PIL import Image

base64_str = 'iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg=='

buffer = io.BytesIO()
imgdata = base64.b64decode(base64_str)
img = Image.open(io.BytesIO(imgdata))
new_img = img.resize((2, 2))  # x, y
new_img.save(buffer, format="PNG")
img_b64 = base64.b64encode(buffer.getvalue())
print(str(img_b64)[2:-1])

EDIT: Reducing the size of a base64 image does not imply reducing the file size.

2badatcoding
  • 125
  • 3
  • 11