在python中使用win32在内存中创建一个图标
在 python 中在内存中生成图标的好方法是什么? 现在我被迫使用 pygame 绘制图标,然后将其作为 .ico 文件保存到磁盘,然后从磁盘加载它作为 ICO 资源...
像这样:
if os.path.isfile(self.icon):
icon_flags = win32con.LR_LOADFROMFILE | win32con.LR_DEFAULTSIZE
hicon = win32gui.LoadImage(hinst,
self.icon,
win32con.IMAGE_ICON,
0,
0,
icon_flags)
...where self. icon 是我创建的图标的文件名。
有什么办法可以在内存中做到这一点吗? 编辑:我想做的就是创建一个图标,上面显示一个 2 位数字(天气任务栏样式。
What's a good way to generate an icon in-memory in python? Right now I'm forced to use pygame to draw the icon, then I save it to disk as an .ico file, and then I load it from disk as an ICO resource...
Something like this:
if os.path.isfile(self.icon):
icon_flags = win32con.LR_LOADFROMFILE | win32con.LR_DEFAULTSIZE
hicon = win32gui.LoadImage(hinst,
self.icon,
win32con.IMAGE_ICON,
0,
0,
icon_flags)
...where self.icon is the filename of the icon I created.
Is there any way to do this in memory? EDIT: All I want to do is create an icon with a 2-digit number displayed on it (weather-taskbar style.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以使用 wxPython 来实现此目的。
wxBitmap 可以使用 wxMemoryDC,查看 此处了解您可以在 DC 上执行的操作。
然后可以使用以下方法将此图标应用于 wxFrame(窗口)或 wxTaskBarIcon:
You can use wxPython for this.
The wxBitmap can be generated in memory using wxMemoryDC, look here for operations you can do on a DC.
This icon can then be applied to a wxFrame (a window) or a wxTaskBarIcon using:
您也许可以创建一个模仿 python 文件对象接口的对象。
http://docs.python.org/library/stdtypes.html# bltin 文件对象
You can probably create a object that mimics the python file-object interface.
http://docs.python.org/library/stdtypes.html#bltin-file-objects
这对我有用,不需要 wx.
This is working for me and doesn't require wx.