Найти - Пользователи
Полная версия: Вытащить иконку из exe файла
Начало » Python для новичков » Вытащить иконку из exe файла
1
Cover Story
Всем доброго! Подскажите пожалуйста каким способом можно вытащить иконку из exe-файла, какие пакеты при этом использовать?
Cover Story
Вот нашел пример:
import win32ui
import win32gui
import win32con
import win32api
import cStringIO
import Image
import os

tempDirectory = os.getenv("temp")

ico_x = win32api.GetSystemMetrics(win32con.SM_CXICON)

dst = cStringIO.StringIO()
for ss in range(0, 73):
if len(str(ss)) == 1:
FF = "0" + str(ss)
else:
FF = str(ss)
path = r"c:/base/base.exe/base_" + FF + ".exe"

large, small = win32gui.ExtractIconEx(path,0)
win32gui.DestroyIcon(small[0])

#creating a destination memory DC

hdc = win32ui.CreateDCFromHandle( win32gui.GetDC(0) )
hbmp = win32ui.CreateBitmap()
hbmp.CreateCompatibleBitmap(hdc, ico_x, ico_x)
hdc = hdc.CreateCompatibleDC()


hdc.SelectObject( hbmp ) #draw a icon in it

hdc.DrawIcon( (0,0), large[0] )
win32gui.DestroyIcon(large[0])

#convert picture

hbmp.SaveBitmapFile( hdc, r"c:/BASE/baseico/ico_" + FF + ".bmp")

im = Image.open(r"c:/BASE/baseico/ico_" + FF + ".bmp")

im.save(dst, "JPEG")

dst.seek(0)

#os.remove(tempDirectory + "\Icontemp.bmp")
#return
#dst.read()
Но как сделать фон белым не знаю.
Zubchick
Но как сделать фон белым не знаю.
модуль PIL для работы с картинками поможет тебе :)
Андрей Светлов
В контекст через hdc.DrawIcon рисуете? Так перед этим фон залейте своим цветом.
http://msdn.microsoft.com/en-us/library/dd145203(VS.85).aspx
well
Андрей Светлов
В контекст через hdc.DrawIcon рисуете? Так перед этим фон залейте своим цветом.
http://msdn.microsoft.com/en-us/library/dd145203(VS.85).aspx
День добрый! Пробовал
hdc.SetBkColor(win32api.RGB(255,255,255))
не помогло. Не подскажете, что я не так сделал?
well
Нашел
hdc.FillSolidRect((0, 0, 32, 32), 0xffffff)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB