Pergunta

Eu tenho tentado incorporar um ícone (.ico) para o meu .exe "compyled" com py2exe.

Py2Exe tem uma maneira de incorporar um ícone:

windows=[{
    'script':'MyScript.py',
    'icon_resources':[(1,'MyIcon.ico')]
}]

E é isso que eu estou usando. O ícone aparece bem no Windows XP ou menor, mas não mostrar a todos no Vista. Acho que isso é por causa do novo formato ícone Vista, que pode ser em formato PNG, até 256x256 pixels.

Então, como posso obter py2exe incorporá-los em meu executável, sem quebrar os ícones no Windows XP?

Eu estou bem com fazê-lo com um utilitário externo ao invés de py2exe - Eu tentei este utilitário de linha de comando para incorporá-lo, mas sempre corrompe minha exe e trunca o seu tamanho por algum motivo.

Foi útil?

Solução

Vista utiliza ícones de alta resolução 256x256 pixels imagens, eles são armazenados usando baseado em PNG compressão. O problema é se você simplesmente fazer o ícone e salve-o em formato XP ICO padrão, o arquivo resultante será 400Kb no disco. A solução é comprimir as imagens. O esquema de compressão utilizado é PNG (Portable Network Graphic) porque tem uma boa relação lossless e suporta canal alfa.

E o uso

png2ico myicon.ico logo16x16.png logo32x32.png logo255x255.png

Ele cria um arquivo ICO de 1 ou mais PNG de e lida com vários tamanhos etc. E eu acho que XP não teria nenhum problema com isso.

Outras dicas

Parece que a ordem de tamanhos de ícones é a chave, como disse Helmut. Para inverter as páginas (os maiores primeiro) resolve o problema no Windows 7 para 'include_resources' (usando py2exe 0.6.9).

Eu estava tendo problemas com incorporar o recurso de ícone com py2exe no Windows7 usando um arquivo .ico que contém uma imagem de 32x32 pixels. Eu estava usando o mesmo método que a pergunta original.

Uma vez compilado o ícone na desaparece exe. Na investigação do ícone é adicionado no índice 0, de acordo com a ferramenta Hacker Resource, mas se eu usar o mesma ferramenta para substituir o ícone que é adicionado no índice 1. uma vez no índice 1 do ícone aparece magicamente no explorer contra o exe novamente.

Se desesperada, você poderia usar Resource Hacker alterar o exe pós-compilação e pode ser programado através da interface de linha de comando, mas eu tentei o método explicado acima e conseguiu fazê-lo funcionar após reverter os arquivos PNG assim.

png2ico.exe myico.ico myico248x248.png myico48x48.png myico32x32.png myico16x16.png

A propósito, adicionando vários ícones para o arquivo ico então você está preenchendo o recurso no índice 1 Ícone de qualquer maneira, neste caso myico248x248.png.

O link para o Greenfish Iceon Editor Pro é quebrado. Eu fiz a varredura na net e encontrei Baixar IcoFX Utilizado o programa IcoFX no meu arquivo .exe e pude ver que, de fato, continha meu ícone.

Usando o menu Image-> Criar ícones do Windows a partir da imagem e, em seguida, aceitar as escolhas que eu tenho um novo arquivo .ico que trabalhou em ambos win7 e ganhar xp.

Antes que meu arquivo 48x48.ico único simplesmente não aparecer como um ícone para o programa.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top