はじめに
webサイトの構築ではicoファイル(favicon)の作成は必須ですが、favicon作成サイトでは、元の画像を1つ用意したら、自分が指定したサイズにリサイズしたものを複合したものができあがります。
でも私としては、リサイズは任せず、自分で作った画像を使ってほしい。なんとなく。
なので、16, 32, 48などのサイズを用意してみたら、それらをくっつけてくれるfavicon作成サイトは見当たらない。
ということで、Pythonで書いてみました。
コード
make_ico.py
from PIL import Image
def main():
sizes = [32, 16, 24, 48, 96, 144, 256]
images = [Image.open(f"favicon{size}.png") for size in sizes]
images[0].save(
"favicon.ico",
format="ICO",
append_images=images[1:],
sizes=[(size, size) for size in sizes],
)
print("ICO file created successfully")
if __name__ == "__main__":
main()
あんまり書くことはないんですが、なんとなく最初の画像は32x32にしてみました。・・・くらい?これがよいかどうかはわかりませんが。
もし今後、必要とされる方がいたらコピペでどうぞ。
おわりに
複数のサイズの画像を1つのファイルにくっつけて、アイコンとして定義して、環境によってサイズを可変にするという発想、すごいですね。リサイズの処理時間がかかる時代に、ファイルサイズだけで画像を選べば速いよね、ということでしょうか。
ではよきfaviconライフを!