wxPython Image PIL Image 之间的转换方法
wxPython 的 wx.Image 和 PIL 的Image 一个是主流gui库,一个是主流图像处理库(很多图像相关的库都会用它为基础库),做 python gui 程序这两个库中的图像对像互相转换是必定会碰到的,两者会经常混合着用。 因为两个库的版本不一致,相互间的转换方法常有变化。下面写成两个函数,方便调用。
def PilImage2WxImage(self,pilImage:PIL.Image.Image):'''转换 PIL Image 为 wxPython Image:param pilImage: PIL.Image.Image:return: wx.Image'''wxImage = wx.Image((pilImage.size[0], pilImage.size[1]), pilImage.convert("RGB").tobytes())return wxImagedef WxImage2PilImage(self, wxImage:wx.Image):'''转换 wxPython Image 为 PIL Image 对象:param wxImage: wx.Image 实例:return: PIL.Image.Image'''from PIL import Image# wxImage 的 GetData方法返回图像的字节码,通过bytes强制转换,可以直接作为frombytes的参数。pilImage = Image.frombytes('RGB',(wxImage.GetWidth(), wxImage.GetHeight()),bytes(wxImage.GetData()))# pil.show()return pilImage
从 PIL Image 原来有个方法 fromstring 可以将 wxImage 转化过来,但最新版本这个方法被取消了,需要用 frombytes 替代。 但是 wxImage 的 GetData() 方法默认返回的是PyObject对象,不是 bytes ,没法直接用。 实际上看这个方法说明,内部就是返回的bytes 只是,所以转换一下就能用了。
wxPython Image PIL Image 之间的转换方法相关推荐
- java代码中fastjson生成字符串和解析字符串的方法和javascript文件中字符串和json数组之间的转换方法...
1.java代码中fastjson生成字符串和解析字符串的方法 List<TemplateFull> templateFulls = new ArrayList<TemplateFu ...
- python fromhex_Python hexstring-list-str之间的转换方法
在Python操作数据内容时,多数情况下可能遇到下面3种类型的数据处理: hexstring 如:'1C532145697A8B6F' str 如:'\x1C\x53\x21\x45\x69\x7A\ ...
- [转载] python hex转字符串_Python hexstring-list-str之间的转换方法
参考链接: Python hex() 在Python操作数据内容时,多数情况下可能遇到下面3种类型的数据处理: hexstring 如:'1C532145697A8B6F' str 如:'\x1C\x ...
- python汉字转到ascii码_python中ASCII码字符与int之间的转换方法
ASCII码转换为int:ord('A') 65 int转为ASCII码:chr(65) 'A' 题目内容: 实现一个凯撒密码的变种算法,对输入字符串进行加解密处理 把字母a-z分别循环对应为相距13 ...
- linux音频文件格式转换,Linux下常见音频格式之间的转换方法
下面简单介绍下Linux环境常见音频格式之间的转换方法: MP3 相关工具: lame OGG 相关工具: vorbis-tools APE 相关工具: mac FLAC 相关工具: flac WAV ...
- 常用进制以及进制之间的转换方法
常用进制以及进制之间的转换 常用进制 初学计算机编程,进制转换,是一个让人很头疼的一关,但还是必须要掌握.接下来给大家带来一些简单的进制转换方法. 进制呢,实际就是进位计数制,常用的进制有二进制,八进 ...
- list与array之间的转换方法总结
list与array之间的转换方法总结 一.List转数组 方法一.使用for循环 //要转换的list集合 List testList = new ArrayList(){{add("aa ...
- linux 字符串时间转换,Linux C/C++时间字符串与time_t之间的转换方法(转)
js 获取小数点位数方法及 字符串与数字之间相互转换方法 1.获取小数点位数方法 a. 使用 js 中 subsrting,indexOf,parseFloat三个函数,代码如下: var s = & ...
- MFC的CWnd和HWND之间互相转换方法
句柄是一个32位的数,是在WINDOS中的一个资源标示符,相当于c里面的指针. 窗口类就是CWnd,窗口句柄就是HWND.CWnd和HWND之间互相转换代码如下: CWnd *pWnd; ...
最新文章
- 使用startForeground让android服务前台运行
- 数学建模【建模竞赛与论文写作】
- 如何在ASP.NET Core程序启动时运行异步任务(1)
- java算法:冒泡排序
- 【CodeForces - 897D】Ithea Plays With Chtholly (交互题型,贪心,思维构造,题目信息)
- 企业微信发布全国远程办公大数据:这些地方的企业最爱交流
- 【入门篇】接口自动化测试
- 51单片机入门——红外通信
- 如何判断患者服用的温度敏感性药品依旧安全有效?
- python——【1】gzip压缩文件
- 前世回眸,今生结缘,滚滚红尘,谁人可依
- 计算机动画制作 课件,第四章 计算机动画的制作与编辑-课件(PPT).ppt
- [ 电子商务 ] 解读 Ad Network、Ad Exchange、DSP、SSP、RTB 和DMP 是什么?
- 从普通程序员到估值上亿的公司老板,他只用了1年!
- OLED有哪些优劣势?
- 数据中心架构,如何节省运营成本,机房冷却方面减少压力?
- WPF自定义控件中报“设置属性“System.Windows.ResourceDictionary.Source”时引发了异常。”,...
- 图扑数字孪生智慧社区,助力社区数字化转型
- yu bie diu
- CodeForces 520B Two Buttons
热门文章
- android手机QQ尾巴修改(QQ for Pad)
- java rxjava_RxJava 入门
- python ljust 中文_Python为文档批量注音(生僻字歌词为例)
- python json.loads_Python:json.loads返回前缀为'u'的项目
- 如何寻找优质淘宝客来推广自己的店铺
- 名侦探白洞(二):办公室“神秘人”事件
- 每个人心中的那一首歌
- c语言解析json代码举例,CJSON 实例
- 攻读计算机专业博士,范文:计算机专业攻读博士(2)
- angularjs 点击div外面,隐藏该div