]> cygwin.com Git - cygwin-apps/cygutils.git/blob - src/cygicons/README
Add hippo.ico to cygicons DLL
[cygwin-apps/cygutils.git] / src / cygicons / README
1 Provenance, licensing, and resolution, Oh My!
2
3 Windows .ICO file format
4 ========================================================================
5 Windows icons come in many flavors: size, number of colors, transparency
6 mechanism, etc.
7
8 The format of a single .ico image:
9 ----------------------------------
10 Each image contains (among other things)
11 o an indication of its size in pixels
12 o an indication of the bit depth: 1,4,8,24,32
13 o [optional]: a palette, containing
14 * N entries, where N = 2 ^ bitdepth
15 * each entry contains a 32bit record, consisting
16 of an 8bit R, G, B triple and a reserve byte
17 (no, it's not used for alpha)
18 o an "AND" mask containing (most of) the pixel
19 data. This is an MxM raster (LL->LR, ... UL->UR)
20 of pixels, where each pixel is represented by
21 1, 4, 8, 24, or 32 bits. If 4 or 8, then the
22 values represent indices into the palette. If
23 1, the values represent black/white. If 24,
24 the values represent 24bit RGB data. If 32,
25 the values represent 24bit RGB data + 8bit alpha.
26 o [optional]: an "XOR" maks containing (more) pixel
27 data. This is an MxM raster (LL->LR, ... UL->UR)
28 of pixels, where each pixel is represent by
29 1 bit. This is used to create transparency (and
30 other effects) for 1, 4, 8, and 24 bit icons.
31 32bit icons have a built-in alpha channel in the
32 "AND" mask, which provides all the transparency
33 effects it needs.
34
35 One-bit transparency:
36 ---------------------
37 Applies to 1,4,8, and 24 bit icon images.
38
39 As mentioned above, each icon image actually contains two
40 MxM pixel data arrays. The first is called the "AND mask"
41 and uses N bits per pixel (where N is 1,4,8,24,or 32, although
42 32 bit icons use a different mechanism for transparency). The
43 second data array is called the "XOR mask" and is one bit per
44 pixel.
45
46 The XOR mask allows a few fancy effects: transparency, but
47 also "inverting" the background. For transparency to work,
48 you have to choose one of your 16 (or 256, or 16M) colors
49 as the "transparent" color, and then make sure the XOR mask
50 has 1's everywhere the transparent color is used in the AND
51 mask, and 0's everywhere else.
52 For all the nitty-gritty, see
53 http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/dnargdi/html/msdn_transblt.asp
54 By setting up places in the image where the XOR mask has 1's,
55 but the transparent color is not used in the AND mask at that
56 location, you get color-inversion at those locations.
57
58 Most icon editors simplify this process: you don't deal with
59 the XOR mask directly. Instead, you pick a color to be the
60 "transparent" one, and the editor figures out how to construct
61 the XOR mask from that. (Thus, color-inversion effects are
62 hard to achieve with most icon editors).
63
64 The point is this: you get N colors (where N=2 ^ bitdepth, so
65 16 for 4bit, 256 for 8bit, 16M for 24bit) and NO transparency,
66 or you get N-1 colors and transparency.
67
68 Main icon format types:
69 -----------------------
70 16 color: icons which contain only 16 colors
71 chosen from a specific palette (not
72 just ANY 16 colors). This palette
73 is the EGA 16:
74 0 0 0 black
75 128 0 0 dark red
76 0 128 0 dark green
77 128 128 0 brown
78 0 0 128 dark blue
79 128 0 128 purple
80 0 128 128 teal
81 128 128 128 grey
82 192 192 192 light grey
83 255 0 0 red
84 0 255 0 green
85 255 255 0 yellow
86 0 0 255 blue
87 255 0 255 magenta
88 0 255 255 cyan
89 255 255 255 white
90
91 Additionally, one of these 16 colors
92 can be designated the "transparent"
93 color, given 15 "real" colors and
94 1-bit transparency.
95
96 "1-bit" transparency means no alpha,
97 and no anti-aliasing.
98
99 256color: icons which contain only 256 colors
100 the palette can specify 256 unique
101 colors chosen from the universe of
102 16M 24bit RGB values. Many 256color
103 icons use a standard palette (the
104 so-called web-safe 216, plus 40 others
105 chosen somehow).
106
107 Again, one of these 256 colors can be
108 designated the "transparent" color.
109 Windows XP style guidelines say that
110 magenta (#ff00ff) should be used for
111 this.
112
113 "1-bit" transparency means no alpha,
114 and no anti-aliasing.
115
116 24bit : 16M colors, but you have to give up
117 one of them if you want transparency.
118 No alpha, no anti-aliasing.
119
120 32bit : 16M colors, with full 8bit alpha
121 support and anti-aliasing.
122
123 Main icon sizes:
124 ----------------
125 16x16 : used on the TaskBar
126 24x24 : uncommon. used on the left half of
127 the Start Menu in Windows XP.
128 32x32 : default icon size for desktop icons
129 48x48 : DisplayProperties->Appearance->Advanced,
130 Item=Icon, set size. Not often used.
131 64x64 : New icon size for Vista.
132 256x256 : New icon size for Vista. Stored in compressed
133 PNG format within the .ico file; completely
134 violates all the rules described above.
135
136 Icons in this package:
137 ========================================================================
138 Provenance, licensing, and resolution information.
139
140
141 ==================================================
142 cygwin.ico
143 License : GPL
144 Author : unknown
145 Provenance : setup module on cygwin-apps repository
146 cvs -d:pserver:anoncvs@sources.redhat.com:/cvs/cygwin-apps co setup
147 subdir: setup/cygwin.ico
148 Comments :
149 Contents :
150 48x48 16 color
151 32x32 16 color
152 16x16 16 color
153
154 ==================================================
155 cygwinred.ico
156 cygwinblue.ico
157 cygwincyan.ico
158 cygwinpurple.ico
159 cygwinyellow.ico
160 License : GPL
161 Author : Charles Wilson
162 Provenance: cygutils module on cygwin-apps repository
163 cvs -d:pserver:anoncvs@sources.redhat.com:/cvs/cygwin-apps co cygutils
164 subdir: cygutils/src/cygicons/
165 Comments : simple derived works, derived from cygwin.ico
166 Contents :
167 48x48 16 color
168 32x32 16 color
169 16x16 16 color
170
171 ==================================================
172 cygwinshiny.ico
173 License : GPL (assumed)
174 Author : Nicky H.
175 Provenance: posted to cygwin mailing list
176 http://cygwin.com/ml/cygwin/2004-10/msg00549.html
177 Comments : was posted with the express hope that it
178 be incorporated into the setup.exe source
179 code, which would require GPL. Note that
180 this version has been modified from the
181 original, 32bit-only contribution: I added
182 256color and 16color versions.
183 Contents :
184 48x48 16 color
185 32x32 16 color
186 16x16 16 color
187 48x48 256 color
188 32x32 256 color
189 16x16 256 color
190 48x48 32bit
191 32x32 32bit
192 16x16 32bit
193
194 ==================================================
195 cygwing.ico
196 License : Public Domain (assumed)
197 Author : August Mayer
198 Provenance: posted to cygwin mailing list
199 http://cygwin.com/ml/cygwin/2001-07/msg01099.html
200 Comments : While I'm not a graphic designer or the like,
201 I have created a slightly improved version of
202 the Cygwin icon. Enjoy! -- A. Mayer
203 Contents :
204 32x32 16 color
205 16x16 16 color
206 32x32 256 color
207
208 ==================================================
209 cygwings.ico
210 License : Public Domain (assumed)
211 Author : August Mayer
212 Provenance: posted to cygwin mailing list
213 http://cygwin.com/ml/cygwin/2001-07/msg01151.html
214 Comments : Similar to cygwing.ico, but with better anti-aliasing
215 Contents :
216 32x32 16 color
217 16x16 16 color
218 32x32 256 color
219
220 ==================================================
221 cygwin-kdelook.ico
222 License : GPL
223 Author : FBL
224 Provenance: submitted to kde-look.org
225 http://www.kde-look.org/content/show.php?content=36393
226 Comments :
227 Contents :
228 96x96 256 color
229 72x72 256 color
230 64x64 256 color
231 48x48 256 color
232 32x32 256 color
233 16x16 256 color
234 96x96 24bit
235 72x72 24bit
236 64x64 24bit
237 48x48 24bit
238 32x32 24bit
239 16x16 24bit
240 96x96 32bit
241 72x72 32bit
242 64x64 32bit
243 48x48 32bit
244 32x32 32bit
245 16x16 32bit
246
247
248 ==================================================
249 hippo.ico
250 License : CC-BY-SA 3.0
251 Author : Charles Wilson
252 Provenance: derived from public domain, Michal Pecyna
253 http://openclipart.org/media/files/TheStructorr/1751
254 Comments :
255 Contents :
256 48x48 16 color
257 32x32 16 color
258 24x24 16 color
259 16x16 16 color
260 48x48 256 color
261 32x32 256 color
262 24x24 256 color
263 16x16 256 color
264 64x64 32bit
265 48x48 32bit
266 32x32 32bit
267 24x24 32bit
268 16x16 32bit
269 256x256 32bit PNG
270
271 <a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-sa/3.0/us/88x31.png" /></a><br /><span xmlns:dc="http://purl.org/dc/elements/1.1/" href="http://purl.org/dc/dcmitype/StillImage" property="dc:title" rel="dc:type">hippo.ico</span> by <span xmlns:cc="http://creativecommons.org/ns#" property="cc:attributionName">Charles Wilson</span> is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/">Creative Commons Attribution-Share Alike 3.0 United States License</a>.<br />Based on a work at <a xmlns:dc="http://purl.org/dc/elements/1.1/" href=" http://openclipart.org/media/files/TheStructorr/1751" rel="dc:source"> http://openclipart.org/media/files/TheStructorr/1751</a>.
272
This page took 0.049115 seconds and 6 git commands to generate.