Eclipse RCP alkalmazás product configuration-t szeretnék csinálni. Itt a windows alatt használandó ikont be lehet állítani vagy egy ico fájllal, vagy 7 különböző bmp fájl megadásával.
Amiket elő kell állítani:
16x16 8bit
16x16 32bit
24x24 8bit
32x32 8bit
32x32 32bit
48x48 8bit
48x48 32bit
Arra gondoltam, hogy az egészet generálom ílyen parancsokkal egy közös forrásból:
$ convert icon.png -resize 16x16 -depth 8 icon-l.bmp
$ convert icon.png -resize 16x16 -depth 32 icon-h.bmp
A probléma az, hogy a depth értéket az imagemagick teljesen ignorálja, mindig 24 bites bmp-t gyárt.
Az ico fájl létrehozásához is talátam neten a png2ico programot, az a 32 bites ikont nem hajlandó legyártani, míg a
ppmtowinicon (ez ppm fájlokból (amit imagemagick-kal gyárthatok) csinálna ikon fájlt) szintén újra akarja mintavételezni a 32 bites képeket kisebb bitmélységűre.
Ubutnu edgy-n dolgozok, az ezen csomagban lévő imagemagick verzióval:
$ convert -version
Version: ImageMagick 6.2.4 02/15/07 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2005 ImageMagick Studio LLC
Tud valaki olyan megoldást, amivel szkriptelni lehet az ikonok "gyártási folyamatát"?
- 3971 megtekintés
Hozzászólások
Nem egyszerűbb gimppel (vagy imagemagiccal :)) .ico-ba menteni?
- A hozzászóláshoz be kell jelentkezni
Elvileg egyszerűbb lenne, de ezek nem hajlandóak pontosan az előírt felbontású és színmélységű al-képekből előállítani az ico fájlt. Ennek a béna Eclipse-es cuccnak pontosan ilyen felbontású képek kellenek, különben nem hajlandó működni.
- A hozzászóláshoz be kell jelentkezni
Amikor az UHU CD-re, illetve honlapunkra (favicon.ico) csináltuk az .ico fájlt, először mi is a png2ico progival próbálkoztunk, de aztán az icoutils bizonyult a nyerőnek.
- A hozzászóláshoz be kell jelentkezni
Köszönöm a tippet!
Az icoutils tényleg jónak tűnik. Szépen megcsinálja, amit kell.
Ez a program png-ket felhasználva készít ico fájlt. Png-t pedig már tetszőlegesen tudunk írni-olvasni egyszerűen... Csak egy apró probléma maradt. Kellene tudom 8 bites indexelt png-t előállítani.
Ezt GIMP-pel lehet így: fájl megnyit, menu: image->mode->indexed Ok, fájl elment. Ezzel a fájl indexeltté válik. Így már kézzel össze tudok rakni egy ikont (ez már eredmény ennyi szarakodás után...), de automatikusan még mindig nem megy.
Azonban az imagemagick convert a változatosság kedvéért nem hajlandó indexelt png-t létrehozni.
A következő dolgokat próbáltam:
1. -format PNG8 (doksi szerint 8 bites indexelt, de RGBA-t csinál)
2. először 8 bites indexelt tiff-é alakítás: convert icon.png -colors 256 icon.tif - ezzel valóban 8 bites indexelt lesz
convert icon.tif icon-indexed.png - valamitől visszaalakul RGBA-vá
A pngrewrite program elvileg palettássá alakítaná a png fájlt, azonban csak akkor hajlandó működni, ha a forrás képen összesen maximum 256 szín van. A convert kimenete ennek soha nem felel meg (16x16-nál nagyobb kép esetén kellően színes képre :-) ). Még akkor sem, ha egy indexelt, 256 színű tif-et alakítok vissza png-re. Hol keletkeznek új színek? +antialias és +dither opciókat beállítottam.
- A hozzászóláshoz be kell jelentkezni
Nem ertem, nekem tokeletesen mukodi a convert, talan mert az alabbi opciokkal probalkoztam?
convert -colors 256 -type Palette alma.png alma1.png
Sot, meg indexelt bmp-t is tudok csinalni :-)
convert -colors 16 -type Palette alma.png alma1.bmp
Zsiraf
p.s.: ja, a -depth az egy kicsit mast jelent, az 8 ill. 16 lehet, es a szinenkenti bitmelyseget jelenti...
- A hozzászóláshoz be kell jelentkezni
Így mindjárt más. Sajnos a convert doksiból ezek a dolgok tök nem voltak világosak nekem, és neten arra keresve, hogy convert png indexed nem találtam meg a fenti kulcsszavakat...
Mondjuk valamiért nekem még így sem működik, de ennek lehet, hogy simán annyi az oka, hogy már hulla fáradt vagyok, és kissé ideges az egész képkonvertálgatástól.
Így néz most ki a parancs:
convert icon.png -colors 256 -type Palette -resize 48x48 icon-indexed.png
A generált kép típusa a GIMP szerint nem indexed, hanem rgba. Mára félreteszem a kérdést (meg magamat :-) ).
Mindenkinek köszönöm a segítséget!
- A hozzászóláshoz be kell jelentkezni
Nekem a fent emlitett parancs utan az identify icon-indexed.png azt mondja:
icon-indexed.png PNG 48x48 48x48+0+0 PseudoClass 256c 3kb
Ami kb. azt jelenti, hogy 8bit Indexed :-)
Zsiraf
p.s.: a gimp a fejlecben nekem ezt nyilatkozza:
icon-indexed.png-1.0 (indexed, 1 layer) 48x48
- A hozzászóláshoz be kell jelentkezni
Megvan, mi a parám. Kipróbáltam kipihenten újra az egészet, és rájöttem, hogy az átlátszó képekkel van csak baj. Ezeket nem hajlandó 8 bites indexeltté alakítani, pedig elvileg lehet úgy, hogy egy színre rámondod, hogy az az átlátszó.
(eszerint csináltam átlátszó png-t eredetileg nem áltálszóból:
http://www.fabiovisentin.com/tutorial/GIMP_transparent_image/gimp_how_t… )
Tehát átlátszó png-t kellene 8 bitessé alakítani.
Így feladva a kérdést megoldási javaslatok?
- A hozzászóláshoz be kell jelentkezni