我是靠谱客的博主 多情星月,最近开发中收集的这篇文章主要介绍Python PIL模块Image对象、字节流对象转二进制字节流,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

#!usr/bin/env python
# encoding:utf-8
from __future__ import division
'''
__Author__:沂水寒城
功能: Python PIL模块Image对象、字节流对象转二进制字节流
'''
import io
import os
import requests
from PIL import Image
import matplotlib.pyplot as plt
def image2Binary():
'''
Image对象转化为二进制字节流对象
'''
img=Image.open('a.png')
new=img.crop([0,67,400,340])
plt.clf()
plt.figure(figsize=(8,6))
plt.subplot(1,2,1)
plt.imshow(img)
plt.title("original")
plt.subplot(1,2,2)
plt.imshow(new)
plt.title("crop")
plt.show()
#图像文件可以从本地静态文件中直接读取为二进制字节流形式
binary_str=open('a.png','rb').read()
#已经被Image类读取成为Image对象后也可以转化为二进制字节流形式
img_byte=io.BytesIO()
new.save(img_byte,format='PNG')
binary_str2=img_byte.getvalue()
return binary_str,binary_str2
def bytes2Binary():
'''
网络字节流数据转化为二进制节流对象
'''
url="https://a.png"
#测试图片url
response=requests.get(url)
#网络图像字节流数据可以直接被Image类转化为Image对象
im=Image.open(io.BytesIO(response.content))
img_byte=io.BytesIO()
im.save(img_byte,format='PNG')
binary_str=img_byte.getvalue()
return binary_str
if __name__ == '__main__':
binary_str,binary_str2=image2Binary()
binary_str=bytes2Binary()

最后

以上就是多情星月为你收集整理的Python PIL模块Image对象、字节流对象转二进制字节流的全部内容,希望文章能够帮你解决Python PIL模块Image对象、字节流对象转二进制字节流所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部