]> cygwin.com Git - cygwin-apps/cygutils.git/blame - src/cygicons/README
Add hippo.ico to cygicons DLL
[cygwin-apps/cygutils.git] / src / cygicons / README
CommitLineData
65b579cb
CW
1Provenance, licensing, and resolution, Oh My!
2
7b4dda32
CW
3Windows .ICO file format
4========================================================================
5Windows icons come in many flavors: size, number of colors, transparency
6mechanism, etc.
65b579cb
CW
7
8The format of a single .ico image:
9----------------------------------
10Each 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
35One-bit transparency:
36---------------------
37Applies to 1,4,8, and 24 bit icon images.
38
39As mentioned above, each icon image actually contains two
40MxM pixel data arrays. The first is called the "AND mask"
41and uses N bits per pixel (where N is 1,4,8,24,or 32, although
4232 bit icons use a different mechanism for transparency). The
43second data array is called the "XOR mask" and is one bit per
44pixel.
45
46The XOR mask allows a few fancy effects: transparency, but
47also "inverting" the background. For transparency to work,
6492d64c
CW
48you have to choose one of your 16 (or 256, or 16M) colors
49as the "transparent" color, and then make sure the XOR mask
65b579cb 50has 1's everywhere the transparent color is used in the AND
6492d64c 51mask, and 0's everywhere else.
65b579cb
CW
52 For all the nitty-gritty, see
53 http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/dnargdi/html/msdn_transblt.asp
54By setting up places in the image where the XOR mask has 1's,
55but the transparent color is not used in the AND mask at that
56location, you get color-inversion at those locations.
57
58Most icon editors simplify this process: you don't deal with
59the XOR mask directly. Instead, you pick a color to be the
60"transparent" one, and the editor figures out how to construct
61the XOR mask from that. (Thus, color-inversion effects are
62hard to achieve with most icon editors).
63
64The point is this: you get N colors (where N=2 ^ bitdepth, so
6516 for 4bit, 256 for 8bit, 16M for 24bit) and NO transparency,
66or you get N-1 colors and transparency.
67
68Main 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
123Main 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.
7b4dda32 131 64x64 : New icon size for Vista.
65b579cb
CW
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
136Icons in this package:
7b4dda32
CW
137========================================================================
138Provenance, licensing, and resolution information.
139
140
65b579cb
CW
141==================================================
142cygwin.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==================================================
155cygwinred.ico
156cygwinblue.ico
157cygwincyan.ico
158cygwinpurple.ico
159cygwinyellow.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==================================================
172cygwinshiny.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==================================================
195cygwing.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
6492d64c
CW
200 Comments : While I'm not a graphic designer or the like,
201 I have created a slightly improved version of
65b579cb
CW
202 the Cygwin icon. Enjoy! -- A. Mayer
203 Contents :
204 32x32 16 color
205 16x16 16 color
206 32x32 256 color
207
208==================================================
209cygwings.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==================================================
221cygwin-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
7b4dda32
CW
248==================================================
249hippo.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.045031 seconds and 5 git commands to generate.