Frage

Ich bin auf der Suche zu erstellen favicon.ico Dateien, die ein Programm von Python, aber PIL nur hat die Unterstützung für Lesen ico Dateien.

War es hilfreich?

Lösung

Nach Wikipedia moderne Browser können Griff favicons im PNG-format an, so dass Sie vielleicht konnte nur generieren?

Alternativ ICO Artikel beschreibt das format...

Andere Tipps

Sie können verwenden Kissen:

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

Optional können Sie das Symbol Größen, die Sie wollen:

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

Die Kissen docs sagen, dass es standardmäßig generiert Größen [(16, 16), (24, 24), (32, 32), (48, 48), (64, 64), (128, 128), (255, 255)] und alle Größe größer als die ursprüngliche Größe oder 255 sind, werden ignoriert.

Ja, es ist in der Nur-lese - Abschnitt des docs, aber es funktioniert einigermaßen.

Vielleicht die folgenden arbeiten:

  • Generieren Symbol-Bild mit PIL
  • Konvertieren Sie das Bild .ico-format über die python-Schnittstelle zu ImageMagick, PythonMagick

Ich habe nicht versucht, diesen Ansatz.Die ImageMagick convert-Befehl-Linie Programm war in der Lage zu konvertieren .png-Datei .ico-format, so zumindest ImageMagick unterstützt .ico-format.

Ich weiß nicht, ob dies gilt für alle Fälle, aber unter WinXP ein .ico sein kann, ein bmp der Größe 16x16, 32x32 oder 64x64.Ändern Sie einfach die Erweiterung zu ico von bmp-und Sie sind bereit zu gehen.

Wenn Sie haben imageio, (wahrscheinlich die beste Bibliothek zum Lesen/schreiben der Bilder in Python), können Sie es verwenden:

import imageio

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

Installation ist so einfach wie

pip install imageio
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top