matplotlib.pyplot画图 图片的二进制流的获取方法
2019/7/15 0:44:55
本文主要是介绍matplotlib.pyplot画图 图片的二进制流的获取方法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
有些时候,我们需要画图后的二进制数据流,matplotlib没有提供相关的api,通过源码查看与百度,得到下面此方法
import matplotlib.pyplot as plt import numpy as np import io x=np.arange(10) y=x #plt.plot(x,y) #canvas = plt.get_current_fig_manager().canvas #canvas.draw() fig=plt.figure() plt.plot(x,y) canvas=fig.canvas #上面这段代码和上面注释掉的代码效果一样 #方法1 buffer = io.BytesIO() canvas.print_png(buffer) data=buffer.getvalue() buffer.close() #方法2 buf, size = canvas.print_to_buffer() image = Image.frombuffer('RGBA', size, buf, 'raw', 'RGBA', 0, 1) buffer=io.BytesIO() image.save(buffer,'PNG') data=buffer.getvalue() buffer.close() with open('hhh.png',mode='wb') as f: f.write(data) #f=open('hh.png',mode='wb') #f.write(data) #f.close()
如果我们想把二进制的图片转成数组也是可以的,
buffer=io.BytesIO() buffer.write(data) img=Image.open(buffer) img = np.asarray(img)
以上这篇matplotlib.pyplot画图 图片的二进制流的获取方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持找一找教程网。
这篇关于matplotlib.pyplot画图 图片的二进制流的获取方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程
- 2024-11-17在FastAPI项目中添加一个生产级别的数据库——本地环境搭建指南
- 2024-11-16`PyMuPDF4LLM`:提取PDF数据的神器
- 2024-11-16四种数据科学Web界面框架快速对比:Rio、Reflex、Streamlit和Plotly Dash
- 2024-11-14获取参数学习:Python编程入门教程
- 2024-11-14Python编程基础入门