Zajmę się dzisiaj pewnym rodzajem aplikacji, którą przeciętny programista wykorzystuje rzadko, ale którą mimo tego powinien mieć. Mam tu na myśli program graficzny służący do edycji ikon, czyli tych małych (a od niedawna i większych) obrazków, które w Windows (i nie tylko) pojawiają się na każdym kroku – zwłaszcza na pulpicie czy w menu Start. Może nieczęsto zdarza się konieczność stworzenia ikonki dla własnej aplikacji, lecz kiedy już trzeba to zrobić, warto posłużyć się w tym celu odpowiednim narzędziem (a nie Paintem na przykład :]).
Znalezienie dobrej i darmowej aplikacji do edycji ikon nie jest jednak takie łatwe, jako że najlepsze i najpopularniejsze z nich są licencjonowane jako shareware. Istnieje jednak przynajmniej jeden darmowy i wart polecenia program tego typu; sam dowiedziałem się o nim od Rega.
Nazywa się on IcoFX i ze względu na swą niepozorną wielkość (1.5 MB) ma chyba jedną z lepszych proporcji użyteczności do rozmiaru. Zawiera on bowiem zdecydowaną większość funkcji (jeśli nie wszystkie), jakie można wymagać od tego rodzaju aplikacji.
Program ten obsługuje oczywiście wszystkie używane obecnie rozmiary (od 16×16 do 256×256), głębie kolorów (od 1 do 32 bitów z kanałem alfa) i formaty ikon (łącznie z PNG wykorzystywanym od Visty wzwyż). Oprócz całego wachlarza typowych narzędzi graficznych oferuje też wiele predefiniowanych filtrów (rozmycie, detekcja krawędzi itp.) wraz z możliwością definiowania własnych. Generalnie część “graficzna” programu jest bez zarzutu. Jedynym mankamentem, na jaki się zdołałem dotąd natknąć, jest brak możliwości określania tolerancji kolorów dla wypełniania typu flood fill.
Część “narzędziowa” też prezentuje się dobrze. Przy pomocy programu możemy nie tylko ekstrahować ikony z plików .exe i .dll (w razie potrzeby masowo przy pomocy batch processing), ale także edytować takie pliki (w zakresie ikon, rzecz jasna). Taka edycja mogłaby być wprawdzie nieco lepiej pomyślana (dodanie nowej ikony do pliku .exe/.dll jest możliwe tylko poprzez import z .ico), ale w sumie da się z nią wytrzymać.
Tak więc na te niezbyt częste okazje, gdy musimy/chcemy pobawić z ikonami, IcoFX wydaje się ogólnie całkiem dobrym rozwiązaniem. Zwłaszcza ze tę cenę :)
Jeśli ikonki, to tylko tworzone jako grafika wektorowa. Inaczej cała zabawa mija się z celem (chyba, że program rastrowy posiada warstwy oraz ładnie skaluje). Darmowym rozwiązaniem może być Inkscape.
Limal: A czy Windows obsługuje już ikony w postaci plików wektorowych (SVG? EMF?…) czy to wciąż domena Linuksa? :)
Niestety windows nie obsługuje wektorowych ikon. W tej notce microsoft tłumaczy dlaczego: http://blogs.msdn.com/e7/archive/2008/09/16/more-follow-up-to-discussion-about-high-dpi.aspx
Osobiście uważam, że łatwiej jest zrobić ikonę jak grafikę wektorową na przykład wspomnianym już Inkscapem, później ustawić jej odpowiedni rozmiar i wyeksportować to do pliku .ico
A tak wlasciwie, skoro ikona to zwykla grafika rastrowa, to jaka jest korzysc z szukania specjalnego programu nad uzyciem ulubionego pakietu graficznego (PS, Gimp)? Przeciez eksport do .ico to standard.
Po kilku dniach nie rozumiem co miałem na myśli w pierwszym komentarzu. I dlaczego pisałem go napastliwym tonem – “jeśli X, to TYLKO Y” ;)
Kos, masz rację można użyć spokojnie edytora grafiki rastrowej, a potem skalować do mniejszej rozdzielczości. Nie wiem dlaczego założyłem, że ktoś chciałby dłubać ikonkę 32×32 px, a dopiero potem skalować w górę do 256×256 px :) Niemniej niewątpliwym plusem grafiki wektorowej jest to, że kiedy za x lat rozdzielczość będzie większa, to bez problemu przerobimy ikonkę na dowolnie duzy rozmiar.
Xion, nie wiem, miałem na myśli (nie doczytałeś między wierszami :P) eksport do PNG.