python-imaging-library - 使用 PIL 转换 base64 编码的 png pic
问题描述
全部。最近我正在使用 PIL 来完成一些代码。作为默认演示,我向我展示了如何转换 jpg 图片文件,如下所示:
img = Image.open(filePath).convert('RGB')
然后我也尝试转换一个base64编码的图片来完成同样的事情。唯一的区别是图片是从 url 获得的,它是 base64 编码的。
codec = 'base64 encoded picture'
base64_data = re.sub('^data:image/.+;base64,', '', codec)
byte_data = base64.b64decode(base64_data)
image_data = BytesIO(byte_data)
img = Image.open(image_data)
img = img.convert('RGB')
在最后一行的 and 处显示“读取图片时流中断”。我有什么误解吗??
解决方案
对于一些调试工作,我发现 python2 和 python3 使用不同的 lib(IOString 和 ByteIO)。只需进行不匹配并进行更正即可使此代码正常工作。
推荐阅读
- sql - SQL Trim 登录名缩写
- html - 在前端提交新记录后如何重定向到索引?[Rubymine 2020.2.3,Ruby.2.7.2p137,gem 3.1.2]
- python - 使用 NLTK 的 NLP 在 Tokenized 列表和 csv 文件之间进行连接
- c++ - 找到能被前 n 个数整除的最小数
- three.js - ThreeJS 旋转 FBX 模型手臂的坐标轴
- python - 如何使用 python 将私钥编码为 RS256 格式的 JSON WEB TOKEN
- javascript - Javascript外部范围变量
- angular - 获取模型值以在 Angular 8 中编辑表单响应式表单
- python - Python继承问题:AttributeError:'AVL_Tree'对象没有属性'score'
- python - 通过字符串输入查找行并替换 CSV 文件 Python 中的特定行