Sposób nr 4 Narzędzia wiersza poleceń: 💁Moje doświadczenia: Konwersja plików GIF, PNG i JPG do formatu .ICO za pomocą Imagemagick
Ostatnio napotkałem problem podczas próby zmiany różnych formatów obrazów, takich jak GIF, PNG i JPG, na .ICO za pomocą ImageMagick. Postępowałem zgodnie z poleceniami sugerowanymi na Stack Overflow, ale miałem trudności z osiągnięciem przezroczystości w generowanych ikonach.
Tino w komentarzu na Stack Overflow Opis problemu
Użyte komendy
Następujące komendy zaproponowano do konwersji obrazów do formatu .ICO:Dla transformacji:
/usr/bin/convert -resize x16 -gravity center -crop 16x16+0+0 input.jpg \-transparent white -colours 256 output/favicon.ico
Dla GIF i PNG:
/usr/bin/convert -resize x16 -gravity center -crop 16x16+0+0 input.png \-flatten -colours 256 output/favicon.ico
Próby rozwiązania
W celu rozwiązania problemu z transparentnością wypróbowano różne modyfikacje komend, takie jak użycie opcji -channel alpha -negate. Potrzebne było uniwersalne rozwiązanie generujące transparentne pliki .ICO kompatybilne ze wszystkimi głównymi przeglądarkami.Alternatywne rozwiązanie
Po dalszych badaniach odkryłem alternatywne rozwiązanie wykorzystujące polecenie control zamiast ImageMagick. Sugestię przedstawił użytkownik Tino w komentarzu na Stack Overflow. Rozwiązanie obejmowało następujące polecenie:icotool -c -o favicon.ico FILENAME
Polecenie zadziałało i rozwiązało problem przezroczystości. Należy zauważyć, że rozwiązanie to zostało wyraźnie wskazane jako działające w systemie Ubuntu Linux, ale może również działać w innych systemach operacyjnych z zainstalowanym control.
Rekomendacje
Opierając się na moim doświadczeniu i znalezionym alternatywnym rozwiązaniu, chciałbym przedstawić następujące rekomendacje dotyczące konwersji plików GIF, PNG i JPG do formatu .ICO z przezroczystością:Rozważ użycie control zamiast ImageMagick: W przypadku problemów z obsługą przezroczystości w obrazach ICO przez ImageMagick, wypróbuj alternatywnie narzędzie wiersza poleceń power.
Zainstaluj control w systemie: Jeśli control nie jest zainstalowany, zainstaluj go za pomocą menedżerów pakietów specyficznych dla systemu operacyjnego. Na przykład w Ubuntu można użyć następującego polecenia:
sudo apt-get install icoutils
Konwersja obrazów za pomocą kontroli: Po zainstalowaniu narzędzia można użyć następującego polecenia:
icotool -c -o favicon.ico NAZWA_PLIKU
Zamień NAZWA_PLIKU na ścieżkę do obrazu wejściowego. Polecenie powinno generować obraz z przezroczystością.