python对base64的图片进行裁剪

今天遇到需要裁剪base64字符串的PNG图片,并保存到文件,网上找了代码,并进行了修改

使用的版本为 python 3.7

并安装了pil库 ,没有安装的话 用下面这句

pip3 install pillow

import base64
import re
import io
#记得安装pil
from PIL import Image

def deal_inspect_img(base64_str):
    """裁剪base64字符串的图片"""
    base64_data = re.sub('^data:image/.+;base64,', '', base64_str)
    byte_data = base64.b64decode(base64_data)
    # BytesIO 对象
    image_data = io.BytesIO(byte_data)
    # 得到Image对象
    img = Image.open(image_data)
    # 裁剪图片(左,上,右,下)
    x = 0
    y = 0
    w = 100
    h = 100
    img2 = img.crop((x, y, x+w, y+h))
    # BytesIO 对象
    imgByteArr = io.BytesIO()
    # 写入BytesIO对象
    img2.save(imgByteArr, format='PNG') 
    # 获得字节 并返回
    imgByteArr = imgByteArr.getvalue()
    return imgByteArr


#测试文件 包含有  data:image/jpg;base64, 开头
base64_str = 'data:image/jpg;base64,xxxxxxxxxxxxxxxxxx'
imgdata = deal_inspect_img(base64_str)
#写出字节到文件
with open('iss.png', 'wb') as f:
    f.write(imgdata)

 

你可能感兴趣的:(python剪切base64,python,base64图片,python,base64,python裁剪图片,python)