python制作ico图标_用Python提取exe图标icon | 学步园
这里使用Python win32包中的win32gui.ExtractIconEx方法来提取exe的图标,除了安装Python,还需要到这里下载Pywin。
第一份代码
将指定的a.exe图标保存为bmp格式:
import win32ui
import win32gui
large, small = win32gui.ExtractIconEx(r"c:/a.exe",0)
win32gui.DestroyIcon(small[0])
hdc = win32ui.CreateDCFromHandle( win32gui.GetDC(0) )
hbmp = win32ui.CreateBitmap()
hbmp.CreateCompatibleBitmap( hdc, 32, 32 )
hdc = hdc.CreateCompatibleDC()
hdc.SelectObject( hbmp )
hdc.DrawIcon( (0,0), large[0] )
hbmp.SaveBitmapFile( hdc, "save.bmp" )
ExtractIconEx方法返回大32*32,小16*16的两张图标的句柄。后面就根据这个句柄画图保存,这样出来的图片首先不是图标ico格式,其次背景是黑色的很难看。
第二份代码
用PyQt对图像做了处理,使之背景透明,并保持为ico格式。要使用PyQt,请到这里下载PyQt。代码如下:
import sys
import win32ui
import win32gui
from PyQt4 import QtCore
from PyQt4 import QtGui
class testWindow(QtGui.QMainWindow):
def __init__(self):
super(testWindow, self).__init__()
self.setGeometry(180.0, 130.0, 280.0, 400.0)
self.setMouseTracking(True)
large, small = win32gui.ExtractIconEx(r"C:/a.exe", 0)
win32gui.DestroyIcon(small[0])
self.pixmap = QtGui.QPixmap.fromWinHBITMAP(self.bitmapFromHIcon(large[0]), 2)
self.pixmap.save("a.ico","ico")
def bitmapFromHIcon(self, hIcon):
hdc = win32ui.CreateDCFromHandle(win32gui.GetDC(0))
hbmp = win32ui.CreateBitmap()
hbmp.CreateCompatibleBitmap(hdc, 32, 32)
hdc = hdc.CreateCompatibleDC()
hdc.SelectObject(hbmp)
hdc.DrawIcon((0, 0), hIcon)
hdc.DeleteDC()
return hbmp.GetHandle()
def paintEvent(self, event):
painter = QtGui.QPainter()
painter.begin(self)
painter.setRenderHint(QtGui.QPainter.Antialiasing)
painter.setPen(QtCore.Qt.NoPen)
painter.setBrush(QtGui.QBrush(QtGui.QColor(255.0, 255.0, 255.0, 255.0), QtCore.Qt.SolidPattern))
painter.drawRect(QtCore.QRect(0.0, 0.0, 280.0, 400.0))
painter.drawPixmap(QtCore.QRect(0.0, 0.0, 32.0, 32.0), self.pixmap)
painter.end()
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
mainWindow = testWindow()
mainWindow.show()
app.exec_()
提取图标和上一份代码是一样的,在得到Bitmap后通过QtGui里的fromWinHBITMAP方法将bitmap转换成透明背景的QPixmap,然后就可以保存为ico格式的图标了。paintEvent方法重写了QMainWindow的方法,画图用而已。
python制作ico图标_用Python提取exe图标icon | 学步园相关推荐
- python制作音乐模块_用Python打造一个只属于你的专属音乐播放器,享受动手的快乐!...
平常我们总是用爬虫爬取网页上的音乐,今天我们换个玩法,用Python制作一个独一无二只属于你的音乐播放器,小伙伴们觉得如何?如果觉得提议还不错,那就立即动手吧! 一.需要的库 pygame tkint ...
- 如何用python制作三维动画_用Python制作3D动画
很多小伙伴可能不知道,在3D动画甚至电影制作的过程中,Python也在其中扮演了很重要的角色呢! 比如皮克斯的动画片一般使用Maya软件制作,并且流程中使用到了大量的Maya Python插件. 另外 ...
- python制作电脑软件_利用PYTHON制作桌面版爬虫软件(二)
今天继续新的专题.主要讲解[利用PYTHON制作桌面版爬虫软件]下的如何实现界面功能(一).该讲主要包括以下三个内容:掌握如何编写主函数,运行界面. 了解pywin32模块. 如何用python识别Q ...
- python制作表白神器_用Python个女神做一个表白神器
用Python给女神表白 情人节刚刚过去,但男同胞们对女神的暗恋愈加热烈,想尽一切办法表白,今天,咱们就用Python制作一个表白神器. 程序介绍 运用pygame制作一个小游戏,当女神用鼠标点击&q ...
- python制作阴阳师脚本_利用python制作一个阴阳师小游戏
利用python制作一个阴阳师小游戏 发布时间:2020-11-27 13:59:49 来源:亿速云 阅读:84 这期内容当中小编将会给大家带来有关利用python制作一个阴阳师小游戏,文章内容丰富且 ...
- python制作手机壁纸_用Python生成自己独一无二的手机壁纸
已经12月份了,马上就要过年了,要不要换一个喜气洋洋.洋洋洒洒.洒扫应对.对牛弹琴的手机壁纸呢? 今天小编给大家表演的节目是:用Python生成自己独一无二的手机壁纸. 首先我们需要选择一个现成的手机 ...
- python制作手机壁纸_用Python生成自己专属的手机春节壁纸
↑ 关注 + 置顶 ~ 有趣的不像个技术号 马上就要过年了,要不要换一个喜气洋洋.洋洋洒洒.洒扫应对.对牛弹琴的手机壁纸呢? 今天小五给大家表演的节目是:用Python生成自己独一无二的手机壁纸. 首 ...
- python制作pdf教程_学以致用:Python爬取廖大Python教程制作pdf!
学以致用:Python爬取廖大Python教程制作pdf! python-tutorial-pdf 当我学了廖大的Python教程后,感觉总得做点什么,正好自己想随时查阅,于是就开始有了制作PDF这个 ...
- python制作电脑软件_利用PYTHON制作桌面版爬虫软件(一)
抱歉,对长沙房地产数据的挖掘与分析[三],想了蛮久,觉得对自己的分析结果不是很理想.等我完善好了,我再发出来吧.今天继续开启新的一专题.主要讲解如何用PYTHON实现简单的桌面软件的制作. 题外话,我 ...
- python制作图片墙_利用python生成照片墙的示例代码
PIL(Python Image Library)是python的第三方图像处理库,但是由于其强大的功能与众多的使用人数,几乎已经被认为是python官方图像处理库了.其官方主页为:PIL. PIL历 ...
最新文章
- 微信小程序 侧滑效果实现
- Linux网站架构系列之Apache----进阶篇
- springboot集成neo4j
- php对图像的各种处理函数代码小结
- 深入解读MySQL8.0 新特性 :Crash Safe DDL
- python 消息队列 sqlite_sqlite 数据存储 消息队列
- tkinter 菜单添加事件_tkinter学习教程(七)
- qemu核心机制分析-协程coroutine
- jinja2语法中{%raw%}和{{}}的等效替换
- 详解mybatis映射配置文件
- python文件writelines_python 写文件write(string), writelines(list)
- LinkedHashMap转对象
- algorithm头文件下的sort()
- 结束 Java、Python 之战,如何学习所有编程语言?
- [转]使用Git Submodule管理子模块
- 饿了吗!来点营养的-华为USG6000V防火墙超详细配置
- 辨认NPN三极管的三个管脚
- 升级opengl和显卡驱动_又更新了!英伟达OpenGL 4.4显卡驱动下载
- PSpice for TI和TINA-TI的区别
- linux 定时任务 非root,linux下的计划任务——只执行一次的定时任务,
热门文章
- QQ音乐MP3文件下载
- R语言求风险价值VaR Value at Risk
- 达索系统仿真Simulia——BMW宝马案例学习 | 达索系统百世慧®
- oracle+xquery函数,oracle_xquery介绍.doc
- bicq php,BICQ 1、首先 软件跟QQ和MSN有很多类似的地方。因为现在 用户群在使用 WEB(ASP,PHP,...) 256万源代码下载- www.pudn.com...
- 9寸触屏 电影中曝光诺基亚首款平板Z500
- 魔兽怀旧服怎么找不到服务器,魔兽世界怀旧服服务器连不上怎么办
- 家谱起源众说纷纭,专家揭开历史真相:这种说法比较靠谱!
- 如何使用 Unity制作微信小游戏,微信小游戏制作方案 最新完整详细教程来袭【持续更新】
- 方程组求解的直接法与迭代法实现