Existe uma biblioteca Python para gerar .ico arquivos?

votos
13

Eu estou olhando para criar favicon.icoarquivos de programação do Python, mas PIL só tem suporte para leitura de icoarquivos.

Publicado 05/09/2008 em 11:26
fonte usuário
Em outras línguas...                            


5 respostas

votos
9

Você pode usar Pillow :

from PIL import Image
filename = r'logo.png'
img = Image.open(filename)
img.save('logo.ico')

Opcionalmente, você pode especificar os tamanhos de ícones que você quer:

icon_sizes = [(16,16), (32, 32), (48, 48), (64,64)]
img.save('logo.ico', sizes=icon_sizes)

Os docs almofada dizer que por padrão ele irá gerar tamanhos [(16, 16), (24, 24), (32, 32), (48, 48), (64, 64), (128, 128), (255, 255)]e qualquer tamanho maior do que o tamanho original ou 255 será ignorado.

Sim, é na leitura apenas parte dos documentos, mas funciona até certo ponto.

Respondeu 23/03/2016 em 01:49
fonte usuário

votos
7

De acordo com a Wikipédia navegadores modernos podem lidar com favicons em formato PNG, então talvez você poderia simplesmente gerar isso?

Alternativamente, o artigo ICO descreve o formato ...

Respondeu 05/09/2008 em 14:35
fonte usuário

votos
7

Talvez a seguir funcionaria:

  • Gerar sua imagem ícone usando PIL
  • Converter a imagem para .ico formato usando a interface python para ImageMagick, PythonMagick

Eu não tentei esta abordagem. O ImageMagick converter programa de linha de comando foi capaz de converter um arquivo PNG para .ico formato, assim pelo menos ImageMagick suporta o formato .ico.

Respondeu 05/09/2008 em 11:36
fonte usuário

votos
3

Eu não sei se isto se aplica a todos os casos, mas em WinXP um ico pode ser uma bmp de tamanho 16x16, 32x32 ou 64x64. Basta alterar a extensão para ico de bmp e você está pronto para ir.

Respondeu 05/09/2008 em 11:38
fonte usuário

votos
0

Se você tem ImageIO , (provavelmente a melhor biblioteca para leitura / gravação de imagens em Python), você pode usá-lo:

import imageio

img = imageio.imread('logo.png')
imageio.imwrite('logo.ico', img)

Instalar é tão fácil como

pip install imageio
Respondeu 14/09/2018 em 14:25
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more