2 // ICO Codec class testing unit
5 // Jordi Mas i Hernàndez (jordi@ximian.com)
6 // Sebastien Pouliot <sebastien@ximian.com>
8 // Copyright (C) 2006-2007 Novell, Inc (http://www.novell.com)
10 // Permission is hereby granted, free of charge, to any person obtaining
11 // a copy of this software and associated documentation files (the
12 // "Software"), to deal in the Software without restriction, including
13 // without limitation the rights to use, copy, modify, merge, publish,
14 // distribute, sublicense, and/or sell copies of the Software, and to
15 // permit persons to whom the Software is furnished to do so, subject to
16 // the following conditions:
18 // The above copyright notice and this permission notice shall be
19 // included in all copies or substantial portions of the Software.
21 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
22 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
23 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
24 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
25 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
26 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
27 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
32 using System.Drawing.Imaging;
34 using System.Security.Permissions;
36 using NUnit.Framework;
38 namespace MonoTests.System.Drawing.Imaging {
41 public class IconCodecTest {
43 /* Get suffix to add to the filename */
44 internal string getOutSufix ()
48 int p = (int) Environment.OSVersion.Platform;
49 if ((p == 4) || (p == 128) || (p == 6))
54 if (Type.GetType ("Mono.Runtime", false) == null)
62 /* Get the input directory depending on the runtime*/
63 internal string getInFile (string file)
65 string sRslt = Path.GetFullPath ("../System.Drawing/" + file);
67 if (!File.Exists (sRslt))
68 sRslt = "Test/System.Drawing/" + file;
74 public void Image16 ()
76 string sInFile = getInFile ("bitmaps/16x16x16.ico");
77 using (Image image = Image.FromFile (sInFile)) {
78 Assert.IsTrue (image.RawFormat.Equals (ImageFormat.Icon), "Icon");
79 // note that image is "promoted" to 32bits
80 Assert.AreEqual (PixelFormat.Format32bppArgb, image.PixelFormat);
81 Assert.AreEqual (73746, image.Flags, "bmp.Flags");
82 Assert.AreEqual (16, image.Palette.Entries.Length, "Palette");
84 using (Bitmap bmp = new Bitmap (image)) {
85 Assert.IsTrue (bmp.RawFormat.Equals (ImageFormat.MemoryBmp), "Icon");
86 Assert.AreEqual (PixelFormat.Format32bppArgb, bmp.PixelFormat);
87 Assert.AreEqual (2, bmp.Flags, "bmp.Flags");
88 Assert.AreEqual (0, bmp.Palette.Entries.Length, "Palette");
93 // simley.ico has 48x48, 32x32 and 16x16 images (in that order)
95 public void Bitmap16Features ()
97 string sInFile = getInFile ("bitmaps/smiley.ico");
98 using (Bitmap bmp = new Bitmap (sInFile)) {
99 GraphicsUnit unit = GraphicsUnit.World;
100 RectangleF rect = bmp.GetBounds (ref unit);
102 Assert.IsTrue (bmp.RawFormat.Equals (ImageFormat.Icon), "Icon");
103 // note that image is "promoted" to 32bits
104 Assert.AreEqual (PixelFormat.Format32bppArgb, bmp.PixelFormat);
105 Assert.AreEqual (73746, bmp.Flags, "bmp.Flags");
106 Assert.AreEqual (16, bmp.Palette.Entries.Length, "Palette");
107 Assert.AreEqual (-16777216, bmp.Palette.Entries[0].ToArgb (), "Palette#0");
108 Assert.AreEqual (-16777216, bmp.Palette.Entries[1].ToArgb (), "Palette#1");
109 Assert.AreEqual (-16744448, bmp.Palette.Entries[2].ToArgb (), "Palette#2");
110 Assert.AreEqual (-8355840, bmp.Palette.Entries[3].ToArgb (), "Palette#3");
111 Assert.AreEqual (-16777088, bmp.Palette.Entries[4].ToArgb (), "Palette#4");
112 Assert.AreEqual (-8388480, bmp.Palette.Entries[5].ToArgb (), "Palette#5");
113 Assert.AreEqual (-16744320, bmp.Palette.Entries[6].ToArgb (), "Palette#6");
114 Assert.AreEqual (-4144960, bmp.Palette.Entries[7].ToArgb (), "Palette#7");
115 Assert.AreEqual (-8355712, bmp.Palette.Entries[8].ToArgb (), "Palette#8");
116 Assert.AreEqual (-65536, bmp.Palette.Entries[9].ToArgb (), "Palette#9");
117 Assert.AreEqual (-16711936, bmp.Palette.Entries[10].ToArgb (), "Palette#10");
118 Assert.AreEqual (-256, bmp.Palette.Entries[11].ToArgb (), "Palette#11");
119 Assert.AreEqual (-16776961, bmp.Palette.Entries[12].ToArgb (), "Palette#12");
120 Assert.AreEqual (-65281, bmp.Palette.Entries[13].ToArgb (), "Palette#13");
121 Assert.AreEqual (-16711681, bmp.Palette.Entries[14].ToArgb (), "Palette#14");
122 Assert.AreEqual (-1, bmp.Palette.Entries[15].ToArgb (), "Palette#15");
123 Assert.AreEqual (1, bmp.FrameDimensionsList.Length, "FrameDimensionsList");
124 Assert.AreEqual (0, bmp.PropertyIdList.Length, "PropertyIdList");
125 Assert.AreEqual (0, bmp.PropertyItems.Length, "PropertyItems");
126 Assert.IsNull (bmp.Tag, "Tag");
127 Assert.AreEqual (96.0f, bmp.HorizontalResolution, "HorizontalResolution");
128 Assert.AreEqual (96.0f, bmp.VerticalResolution, "VerticalResolution");
129 Assert.AreEqual (16, bmp.Width, "bmp.Width");
130 Assert.AreEqual (16, bmp.Height, "bmp.Height");
132 Assert.AreEqual (0, rect.X, "rect.X");
133 Assert.AreEqual (0, rect.Y, "rect.Y");
134 Assert.AreEqual (16, rect.Width, "rect.Width");
135 Assert.AreEqual (16, rect.Height, "rect.Height");
137 Assert.AreEqual (16, bmp.Size.Width, "bmp.Size.Width");
138 Assert.AreEqual (16, bmp.Size.Height, "bmp.Size.Height");
143 public void Bitmap16Pixels ()
145 string sInFile = getInFile ("bitmaps/smiley.ico");
146 using (Bitmap bmp = new Bitmap (sInFile)) {
148 for (int x = 0; x < bmp.Width; x += 4) {
149 for (int y = 0; y < bmp.Height; y += 4)
150 Console.WriteLine ("\t\t\t\tAssert.AreEqual ({0}, bmp.GetPixel ({1}, {2}).ToArgb (), \"{1},{2}\");", bmp.GetPixel (x, y).ToArgb (), x, y);
153 // sampling values from a well known bitmap
154 Assert.AreEqual (0, bmp.GetPixel (0, 0).ToArgb (), "0,0");
155 Assert.AreEqual (0, bmp.GetPixel (0, 4).ToArgb (), "0,4");
156 Assert.AreEqual (0, bmp.GetPixel (0, 8).ToArgb (), "0,8");
157 Assert.AreEqual (0, bmp.GetPixel (0, 12).ToArgb (), "0,12");
158 Assert.AreEqual (0, bmp.GetPixel (4, 0).ToArgb (), "4,0");
159 Assert.AreEqual (-256, bmp.GetPixel (4, 4).ToArgb (), "4,4");
160 Assert.AreEqual (-256, bmp.GetPixel (4, 8).ToArgb (), "4,8");
161 Assert.AreEqual (-8355840, bmp.GetPixel (4, 12).ToArgb (), "4,12");
162 Assert.AreEqual (0, bmp.GetPixel (8, 0).ToArgb (), "8,0");
163 Assert.AreEqual (-256, bmp.GetPixel (8, 4).ToArgb (), "8,4");
164 Assert.AreEqual (-256, bmp.GetPixel (8, 8).ToArgb (), "8,8");
165 Assert.AreEqual (-256, bmp.GetPixel (8, 12).ToArgb (), "8,12");
166 Assert.AreEqual (0, bmp.GetPixel (12, 0).ToArgb (), "12,0");
167 Assert.AreEqual (0, bmp.GetPixel (12, 4).ToArgb (), "12,4");
168 Assert.AreEqual (-8355840, bmp.GetPixel (12, 8).ToArgb (), "12,8");
169 Assert.AreEqual (0, bmp.GetPixel (12, 12).ToArgb (), "12,12");
175 public void Bitmap16Data ()
177 string sInFile = getInFile ("bitmaps/smiley.ico");
178 using (Bitmap bmp = new Bitmap (sInFile)) {
179 BitmapData data = bmp.LockBits (new Rectangle (0, 0, bmp.Width, bmp.Height), ImageLockMode.ReadOnly, PixelFormat.Format24bppRgb);
181 Assert.AreEqual (bmp.Height, data.Height, "Height");
182 Assert.AreEqual (bmp.Width, data.Width, "Width");
183 Assert.AreEqual (PixelFormat.Format24bppRgb, data.PixelFormat, "PixelFormat");
184 int size = data.Height * data.Stride;
186 byte* scan = (byte*) data.Scan0;
188 // 13 is prime (so we're not affected by a recurring pattern)
189 for (int p = 0; p < size; p += 13) {
190 Console.WriteLine ("\t\t\t\t\t\tAssert.AreEqual ({0}, *(scan + {1}), \"{1}\");", *(scan + p), p);
193 // sampling values from a well known bitmap
194 Assert.AreEqual (0, *(scan + 0), "0");
195 Assert.AreEqual (0, *(scan + 13), "13");
196 Assert.AreEqual (0, *(scan + 26), "26");
197 Assert.AreEqual (0, *(scan + 39), "39");
198 Assert.AreEqual (0, *(scan + 52), "52");
199 Assert.AreEqual (0, *(scan + 65), "65");
200 Assert.AreEqual (0, *(scan + 78), "78");
201 Assert.AreEqual (0, *(scan + 91), "91");
202 Assert.AreEqual (0, *(scan + 104), "104");
203 Assert.AreEqual (0, *(scan + 117), "117");
204 Assert.AreEqual (0, *(scan + 130), "130");
205 Assert.AreEqual (0, *(scan + 143), "143");
206 Assert.AreEqual (0, *(scan + 156), "156");
207 Assert.AreEqual (255, *(scan + 169), "169");
208 Assert.AreEqual (0, *(scan + 182), "182");
209 Assert.AreEqual (0, *(scan + 195), "195");
210 Assert.AreEqual (255, *(scan + 208), "208");
211 Assert.AreEqual (255, *(scan + 221), "221");
212 Assert.AreEqual (0, *(scan + 234), "234");
213 Assert.AreEqual (128, *(scan + 247), "247");
214 Assert.AreEqual (0, *(scan + 260), "260");
215 Assert.AreEqual (0, *(scan + 273), "273");
216 Assert.AreEqual (0, *(scan + 286), "286");
217 Assert.AreEqual (255, *(scan + 299), "299");
218 Assert.AreEqual (0, *(scan + 312), "312");
219 Assert.AreEqual (128, *(scan + 325), "325");
220 Assert.AreEqual (0, *(scan + 338), "338");
221 Assert.AreEqual (0, *(scan + 351), "351");
222 Assert.AreEqual (255, *(scan + 364), "364");
223 Assert.AreEqual (0, *(scan + 377), "377");
224 Assert.AreEqual (0, *(scan + 390), "390");
225 Assert.AreEqual (255, *(scan + 403), "403");
226 Assert.AreEqual (255, *(scan + 416), "416");
227 Assert.AreEqual (0, *(scan + 429), "429");
228 Assert.AreEqual (255, *(scan + 442), "442");
229 Assert.AreEqual (0, *(scan + 455), "455");
230 Assert.AreEqual (0, *(scan + 468), "468");
231 Assert.AreEqual (0, *(scan + 481), "481");
232 Assert.AreEqual (255, *(scan + 494), "494");
233 Assert.AreEqual (0, *(scan + 507), "507");
234 Assert.AreEqual (0, *(scan + 520), "520");
235 Assert.AreEqual (0, *(scan + 533), "533");
236 Assert.AreEqual (0, *(scan + 546), "546");
237 Assert.AreEqual (255, *(scan + 559), "559");
238 Assert.AreEqual (0, *(scan + 572), "572");
239 Assert.AreEqual (0, *(scan + 585), "585");
240 Assert.AreEqual (255, *(scan + 598), "598");
241 Assert.AreEqual (0, *(scan + 611), "611");
242 Assert.AreEqual (0, *(scan + 624), "624");
243 Assert.AreEqual (0, *(scan + 637), "637");
244 Assert.AreEqual (128, *(scan + 650), "650");
245 Assert.AreEqual (0, *(scan + 663), "663");
246 Assert.AreEqual (0, *(scan + 676), "676");
247 Assert.AreEqual (0, *(scan + 689), "689");
248 Assert.AreEqual (0, *(scan + 702), "702");
249 Assert.AreEqual (0, *(scan + 715), "715");
250 Assert.AreEqual (0, *(scan + 728), "728");
251 Assert.AreEqual (0, *(scan + 741), "741");
252 Assert.AreEqual (0, *(scan + 754), "754");
253 Assert.AreEqual (0, *(scan + 767), "767");
258 bmp.UnlockBits (data);
263 // VisualPng.ico only has a 32x32 size available
265 public void Bitmap32Features ()
267 string sInFile = getInFile ("bitmaps/VisualPng.ico");
268 using (Bitmap bmp = new Bitmap (sInFile)) {
269 GraphicsUnit unit = GraphicsUnit.World;
270 RectangleF rect = bmp.GetBounds (ref unit);
272 Assert.IsTrue (bmp.RawFormat.Equals (ImageFormat.Icon), "Icon");
273 Assert.AreEqual (PixelFormat.Format32bppArgb, bmp.PixelFormat);
274 Assert.AreEqual (73746, bmp.Flags, "bmp.Flags");
275 Assert.AreEqual (16, bmp.Palette.Entries.Length, "Palette");
276 Assert.AreEqual (-16777216, bmp.Palette.Entries[0].ToArgb (), "Palette#0");
277 Assert.AreEqual (-8388608, bmp.Palette.Entries[1].ToArgb (), "Palette#1");
278 Assert.AreEqual (-16744448, bmp.Palette.Entries[2].ToArgb (), "Palette#2");
279 Assert.AreEqual (-8355840, bmp.Palette.Entries[3].ToArgb (), "Palette#3");
280 Assert.AreEqual (-16777088, bmp.Palette.Entries[4].ToArgb (), "Palette#4");
281 Assert.AreEqual (-8388480, bmp.Palette.Entries[5].ToArgb (), "Palette#5");
282 Assert.AreEqual (-16744320, bmp.Palette.Entries[6].ToArgb (), "Palette#6");
283 Assert.AreEqual (-4144960, bmp.Palette.Entries[7].ToArgb (), "Palette#7");
284 Assert.AreEqual (-8355712, bmp.Palette.Entries[8].ToArgb (), "Palette#8");
285 Assert.AreEqual (-65536, bmp.Palette.Entries[9].ToArgb (), "Palette#9");
286 Assert.AreEqual (-16711936, bmp.Palette.Entries[10].ToArgb (), "Palette#10");
287 Assert.AreEqual (-256, bmp.Palette.Entries[11].ToArgb (), "Palette#11");
288 Assert.AreEqual (-16776961, bmp.Palette.Entries[12].ToArgb (), "Palette#12");
289 Assert.AreEqual (-65281, bmp.Palette.Entries[13].ToArgb (), "Palette#13");
290 Assert.AreEqual (-16711681, bmp.Palette.Entries[14].ToArgb (), "Palette#14");
291 Assert.AreEqual (-1, bmp.Palette.Entries[15].ToArgb (), "Palette#15");
292 Assert.AreEqual (1, bmp.FrameDimensionsList.Length, "FrameDimensionsList");
293 Assert.AreEqual (0, bmp.PropertyIdList.Length, "PropertyIdList");
294 Assert.AreEqual (0, bmp.PropertyItems.Length, "PropertyItems");
295 Assert.IsNull (bmp.Tag, "Tag");
296 Assert.AreEqual (96.0f, bmp.HorizontalResolution, "HorizontalResolution");
297 Assert.AreEqual (96.0f, bmp.VerticalResolution, "VerticalResolution");
298 Assert.AreEqual (32, bmp.Width, "bmp.Width");
299 Assert.AreEqual (32, bmp.Height, "bmp.Height");
301 Assert.AreEqual (0, rect.X, "rect.X");
302 Assert.AreEqual (0, rect.Y, "rect.Y");
303 Assert.AreEqual (32, rect.Width, "rect.Width");
304 Assert.AreEqual (32, rect.Height, "rect.Height");
306 Assert.AreEqual (32, bmp.Size.Width, "bmp.Size.Width");
307 Assert.AreEqual (32, bmp.Size.Height, "bmp.Size.Height");
312 public void Bitmap32Pixels ()
314 string sInFile = getInFile ("bitmaps/VisualPng.ico");
315 using (Bitmap bmp = new Bitmap (sInFile)) {
317 for (int x = 0; x < bmp.Width; x += 4) {
318 for (int y = 0; y < bmp.Height; y += 4)
319 Console.WriteLine ("\t\t\t\tAssert.AreEqual ({0}, bmp.GetPixel ({1}, {2}).ToArgb (), \"{1},{2}\");", bmp.GetPixel (x, y).ToArgb (), x, y);
322 // sampling values from a well known bitmap
323 Assert.AreEqual (0, bmp.GetPixel (0, 0).ToArgb (), "0,0");
324 Assert.AreEqual (-8388608, bmp.GetPixel (0, 4).ToArgb (), "0,4");
325 Assert.AreEqual (0, bmp.GetPixel (0, 8).ToArgb (), "0,8");
326 Assert.AreEqual (0, bmp.GetPixel (0, 12).ToArgb (), "0,12");
327 Assert.AreEqual (0, bmp.GetPixel (0, 16).ToArgb (), "0,16");
328 Assert.AreEqual (0, bmp.GetPixel (0, 20).ToArgb (), "0,20");
329 Assert.AreEqual (0, bmp.GetPixel (0, 24).ToArgb (), "0,24");
330 Assert.AreEqual (0, bmp.GetPixel (0, 28).ToArgb (), "0,28");
331 Assert.AreEqual (0, bmp.GetPixel (4, 0).ToArgb (), "4,0");
332 Assert.AreEqual (0, bmp.GetPixel (4, 4).ToArgb (), "4,4");
333 Assert.AreEqual (0, bmp.GetPixel (4, 8).ToArgb (), "4,8");
334 Assert.AreEqual (0, bmp.GetPixel (4, 12).ToArgb (), "4,12");
335 Assert.AreEqual (0, bmp.GetPixel (4, 16).ToArgb (), "4,16");
336 Assert.AreEqual (0, bmp.GetPixel (4, 20).ToArgb (), "4,20");
337 Assert.AreEqual (0, bmp.GetPixel (4, 24).ToArgb (), "4,24");
338 Assert.AreEqual (0, bmp.GetPixel (4, 28).ToArgb (), "4,28");
339 Assert.AreEqual (0, bmp.GetPixel (8, 0).ToArgb (), "8,0");
340 Assert.AreEqual (0, bmp.GetPixel (8, 4).ToArgb (), "8,4");
341 Assert.AreEqual (0, bmp.GetPixel (8, 8).ToArgb (), "8,8");
342 Assert.AreEqual (0, bmp.GetPixel (8, 12).ToArgb (), "8,12");
343 Assert.AreEqual (0, bmp.GetPixel (8, 16).ToArgb (), "8,16");
344 Assert.AreEqual (-65536, bmp.GetPixel (8, 20).ToArgb (), "8,20");
345 Assert.AreEqual (0, bmp.GetPixel (8, 24).ToArgb (), "8,24");
346 Assert.AreEqual (0, bmp.GetPixel (8, 28).ToArgb (), "8,28");
347 Assert.AreEqual (0, bmp.GetPixel (12, 0).ToArgb (), "12,0");
348 Assert.AreEqual (0, bmp.GetPixel (12, 4).ToArgb (), "12,4");
349 Assert.AreEqual (-8388608, bmp.GetPixel (12, 8).ToArgb (), "12,8");
350 Assert.AreEqual (0, bmp.GetPixel (12, 12).ToArgb (), "12,12");
351 Assert.AreEqual (0, bmp.GetPixel (12, 16).ToArgb (), "12,16");
352 Assert.AreEqual (-65536, bmp.GetPixel (12, 20).ToArgb (), "12,20");
353 Assert.AreEqual (0, bmp.GetPixel (12, 24).ToArgb (), "12,24");
354 Assert.AreEqual (0, bmp.GetPixel (12, 28).ToArgb (), "12,28");
355 Assert.AreEqual (0, bmp.GetPixel (16, 0).ToArgb (), "16,0");
356 Assert.AreEqual (0, bmp.GetPixel (16, 4).ToArgb (), "16,4");
357 Assert.AreEqual (0, bmp.GetPixel (16, 8).ToArgb (), "16,8");
358 Assert.AreEqual (0, bmp.GetPixel (16, 12).ToArgb (), "16,12");
359 Assert.AreEqual (0, bmp.GetPixel (16, 16).ToArgb (), "16,16");
360 Assert.AreEqual (0, bmp.GetPixel (16, 20).ToArgb (), "16,20");
361 Assert.AreEqual (-65536, bmp.GetPixel (16, 24).ToArgb (), "16,24");
362 Assert.AreEqual (0, bmp.GetPixel (16, 28).ToArgb (), "16,28");
363 Assert.AreEqual (0, bmp.GetPixel (20, 0).ToArgb (), "20,0");
364 Assert.AreEqual (0, bmp.GetPixel (20, 4).ToArgb (), "20,4");
365 Assert.AreEqual (-8388608, bmp.GetPixel (20, 8).ToArgb (), "20,8");
366 Assert.AreEqual (0, bmp.GetPixel (20, 12).ToArgb (), "20,12");
367 Assert.AreEqual (0, bmp.GetPixel (20, 16).ToArgb (), "20,16");
368 Assert.AreEqual (0, bmp.GetPixel (20, 20).ToArgb (), "20,20");
369 Assert.AreEqual (0, bmp.GetPixel (20, 24).ToArgb (), "20,24");
370 Assert.AreEqual (0, bmp.GetPixel (20, 28).ToArgb (), "20,28");
371 Assert.AreEqual (0, bmp.GetPixel (24, 0).ToArgb (), "24,0");
372 Assert.AreEqual (0, bmp.GetPixel (24, 4).ToArgb (), "24,4");
373 Assert.AreEqual (-16777216, bmp.GetPixel (24, 8).ToArgb (), "24,8");
374 Assert.AreEqual (0, bmp.GetPixel (24, 12).ToArgb (), "24,12");
375 Assert.AreEqual (0, bmp.GetPixel (24, 16).ToArgb (), "24,16");
376 Assert.AreEqual (0, bmp.GetPixel (24, 20).ToArgb (), "24,20");
377 Assert.AreEqual (0, bmp.GetPixel (24, 24).ToArgb (), "24,24");
378 Assert.AreEqual (0, bmp.GetPixel (24, 28).ToArgb (), "24,28");
379 Assert.AreEqual (0, bmp.GetPixel (28, 0).ToArgb (), "28,0");
380 Assert.AreEqual (0, bmp.GetPixel (28, 4).ToArgb (), "28,4");
381 Assert.AreEqual (0, bmp.GetPixel (28, 8).ToArgb (), "28,8");
382 Assert.AreEqual (0, bmp.GetPixel (28, 12).ToArgb (), "28,12");
383 Assert.AreEqual (0, bmp.GetPixel (28, 16).ToArgb (), "28,16");
384 Assert.AreEqual (0, bmp.GetPixel (28, 20).ToArgb (), "28,20");
385 Assert.AreEqual (-8388608, bmp.GetPixel (28, 24).ToArgb (), "28,24");
386 Assert.AreEqual (0, bmp.GetPixel (28, 28).ToArgb (), "28,28");
392 public void Bitmap32Data ()
394 string sInFile = getInFile ("bitmaps/VisualPng.ico");
395 using (Bitmap bmp = new Bitmap (sInFile)) {
396 BitmapData data = bmp.LockBits (new Rectangle (0, 0, bmp.Width, bmp.Height), ImageLockMode.ReadOnly, PixelFormat.Format24bppRgb);
398 Assert.AreEqual (bmp.Height, data.Height, "Height");
399 Assert.AreEqual (bmp.Width, data.Width, "Width");
400 Assert.AreEqual (PixelFormat.Format24bppRgb, data.PixelFormat, "PixelFormat");
401 int size = data.Height * data.Stride;
403 byte* scan = (byte*) data.Scan0;
405 // 13 is prime (so we're not affected by a recurring pattern)
406 for (int p = 0; p < size; p += 13) {
407 Console.WriteLine ("\t\t\t\t\t\tAssert.AreEqual ({0}, *(scan + {1}), \"{1}\");", *(scan + p), p);
410 // sampling values from a well known bitmap
411 Assert.AreEqual (0, *(scan + 0), "0");
412 Assert.AreEqual (0, *(scan + 13), "13");
413 Assert.AreEqual (0, *(scan + 26), "26");
414 Assert.AreEqual (0, *(scan + 39), "39");
415 Assert.AreEqual (0, *(scan + 52), "52");
416 Assert.AreEqual (0, *(scan + 65), "65");
417 Assert.AreEqual (0, *(scan + 78), "78");
418 Assert.AreEqual (0, *(scan + 91), "91");
419 Assert.AreEqual (0, *(scan + 104), "104");
420 Assert.AreEqual (0, *(scan + 117), "117");
421 Assert.AreEqual (0, *(scan + 130), "130");
422 Assert.AreEqual (0, *(scan + 143), "143");
423 Assert.AreEqual (0, *(scan + 156), "156");
424 Assert.AreEqual (0, *(scan + 169), "169");
425 Assert.AreEqual (0, *(scan + 182), "182");
426 Assert.AreEqual (0, *(scan + 195), "195");
427 Assert.AreEqual (0, *(scan + 208), "208");
428 Assert.AreEqual (0, *(scan + 221), "221");
429 Assert.AreEqual (0, *(scan + 234), "234");
430 Assert.AreEqual (0, *(scan + 247), "247");
431 Assert.AreEqual (0, *(scan + 260), "260");
432 Assert.AreEqual (0, *(scan + 273), "273");
433 Assert.AreEqual (0, *(scan + 286), "286");
434 Assert.AreEqual (0, *(scan + 299), "299");
435 Assert.AreEqual (0, *(scan + 312), "312");
436 Assert.AreEqual (0, *(scan + 325), "325");
437 Assert.AreEqual (0, *(scan + 338), "338");
438 Assert.AreEqual (0, *(scan + 351), "351");
439 Assert.AreEqual (0, *(scan + 364), "364");
440 Assert.AreEqual (0, *(scan + 377), "377");
441 Assert.AreEqual (0, *(scan + 390), "390");
442 Assert.AreEqual (0, *(scan + 403), "403");
443 Assert.AreEqual (0, *(scan + 416), "416");
444 Assert.AreEqual (0, *(scan + 429), "429");
445 Assert.AreEqual (0, *(scan + 442), "442");
446 Assert.AreEqual (0, *(scan + 455), "455");
447 Assert.AreEqual (0, *(scan + 468), "468");
448 Assert.AreEqual (0, *(scan + 481), "481");
449 Assert.AreEqual (128, *(scan + 494), "494");
450 Assert.AreEqual (0, *(scan + 507), "507");
451 Assert.AreEqual (0, *(scan + 520), "520");
452 Assert.AreEqual (0, *(scan + 533), "533");
453 Assert.AreEqual (0, *(scan + 546), "546");
454 Assert.AreEqual (0, *(scan + 559), "559");
455 Assert.AreEqual (128, *(scan + 572), "572");
456 Assert.AreEqual (0, *(scan + 585), "585");
457 Assert.AreEqual (0, *(scan + 598), "598");
458 Assert.AreEqual (0, *(scan + 611), "611");
459 Assert.AreEqual (0, *(scan + 624), "624");
460 Assert.AreEqual (0, *(scan + 637), "637");
461 Assert.AreEqual (128, *(scan + 650), "650");
462 Assert.AreEqual (0, *(scan + 663), "663");
463 Assert.AreEqual (0, *(scan + 676), "676");
464 Assert.AreEqual (0, *(scan + 689), "689");
465 Assert.AreEqual (0, *(scan + 702), "702");
466 Assert.AreEqual (0, *(scan + 715), "715");
467 Assert.AreEqual (0, *(scan + 728), "728");
468 Assert.AreEqual (0, *(scan + 741), "741");
469 Assert.AreEqual (0, *(scan + 754), "754");
470 Assert.AreEqual (0, *(scan + 767), "767");
471 Assert.AreEqual (0, *(scan + 780), "780");
472 Assert.AreEqual (0, *(scan + 793), "793");
473 Assert.AreEqual (128, *(scan + 806), "806");
474 Assert.AreEqual (0, *(scan + 819), "819");
475 Assert.AreEqual (0, *(scan + 832), "832");
476 Assert.AreEqual (128, *(scan + 845), "845");
477 Assert.AreEqual (0, *(scan + 858), "858");
478 Assert.AreEqual (0, *(scan + 871), "871");
479 Assert.AreEqual (0, *(scan + 884), "884");
484 bmp.UnlockBits (data);
489 // 48x48x1.ico only has a 48x48 size available
491 public void Bitmap48Features ()
493 string sInFile = getInFile ("bitmaps/48x48x1.ico");
494 using (Bitmap bmp = new Bitmap (sInFile)) {
495 GraphicsUnit unit = GraphicsUnit.World;
496 RectangleF rect = bmp.GetBounds (ref unit);
498 Assert.IsTrue (bmp.RawFormat.Equals (ImageFormat.Icon), "Icon");
499 Assert.AreEqual (PixelFormat.Format32bppArgb, bmp.PixelFormat);
500 Assert.AreEqual (73746, bmp.Flags, "bmp.Flags");
501 Assert.AreEqual (2, bmp.Palette.Entries.Length, "Palette");
502 Assert.AreEqual (-16777216, bmp.Palette.Entries[0].ToArgb (), "Palette#0");
503 Assert.AreEqual (-1, bmp.Palette.Entries[1].ToArgb (), "Palette#1");
504 Assert.AreEqual (1, bmp.FrameDimensionsList.Length, "FrameDimensionsList");
505 Assert.AreEqual (0, bmp.PropertyIdList.Length, "PropertyIdList");
506 Assert.AreEqual (0, bmp.PropertyItems.Length, "PropertyItems");
507 Assert.IsNull (bmp.Tag, "Tag");
508 Assert.AreEqual (96.0f, bmp.HorizontalResolution, "HorizontalResolution");
509 Assert.AreEqual (96.0f, bmp.VerticalResolution, "VerticalResolution");
510 Assert.AreEqual (48, bmp.Width, "bmp.Width");
511 Assert.AreEqual (48, bmp.Height, "bmp.Height");
513 Assert.AreEqual (0, rect.X, "rect.X");
514 Assert.AreEqual (0, rect.Y, "rect.Y");
515 Assert.AreEqual (48, rect.Width, "rect.Width");
516 Assert.AreEqual (48, rect.Height, "rect.Height");
518 Assert.AreEqual (48, bmp.Size.Width, "bmp.Size.Width");
519 Assert.AreEqual (48, bmp.Size.Height, "bmp.Size.Height");
524 public void Bitmap48Pixels ()
526 string sInFile = getInFile ("bitmaps/48x48x1.ico");
527 using (Bitmap bmp = new Bitmap (sInFile)) {
529 for (int x = 0; x < bmp.Width; x += 4) {
530 for (int y = 0; y < bmp.Height; y += 4)
531 Console.WriteLine ("\t\t\t\tAssert.AreEqual ({0}, bmp.GetPixel ({1}, {2}).ToArgb (), \"{1},{2}\");", bmp.GetPixel (x, y).ToArgb (), x, y);
534 // sampling values from a well known bitmap
535 Assert.AreEqual (-16777216, bmp.GetPixel (0, 0).ToArgb (), "0,0");
536 Assert.AreEqual (-16777216, bmp.GetPixel (0, 4).ToArgb (), "0,4");
537 Assert.AreEqual (-16777216, bmp.GetPixel (0, 8).ToArgb (), "0,8");
538 Assert.AreEqual (-16777216, bmp.GetPixel (0, 12).ToArgb (), "0,12");
539 Assert.AreEqual (-16777216, bmp.GetPixel (0, 16).ToArgb (), "0,16");
540 Assert.AreEqual (-16777216, bmp.GetPixel (0, 20).ToArgb (), "0,20");
541 Assert.AreEqual (-16777216, bmp.GetPixel (0, 24).ToArgb (), "0,24");
542 Assert.AreEqual (-16777216, bmp.GetPixel (0, 28).ToArgb (), "0,28");
543 Assert.AreEqual (-16777216, bmp.GetPixel (0, 32).ToArgb (), "0,32");
544 Assert.AreEqual (-16777216, bmp.GetPixel (0, 36).ToArgb (), "0,36");
545 Assert.AreEqual (-16777216, bmp.GetPixel (0, 40).ToArgb (), "0,40");
546 Assert.AreEqual (-16777216, bmp.GetPixel (0, 44).ToArgb (), "0,44");
547 Assert.AreEqual (-16777216, bmp.GetPixel (4, 0).ToArgb (), "4,0");
548 Assert.AreEqual (0, bmp.GetPixel (4, 4).ToArgb (), "4,4");
549 Assert.AreEqual (0, bmp.GetPixel (4, 8).ToArgb (), "4,8");
550 Assert.AreEqual (0, bmp.GetPixel (4, 12).ToArgb (), "4,12");
551 Assert.AreEqual (0, bmp.GetPixel (4, 16).ToArgb (), "4,16");
552 Assert.AreEqual (0, bmp.GetPixel (4, 20).ToArgb (), "4,20");
553 Assert.AreEqual (0, bmp.GetPixel (4, 24).ToArgb (), "4,24");
554 Assert.AreEqual (0, bmp.GetPixel (4, 28).ToArgb (), "4,28");
555 Assert.AreEqual (0, bmp.GetPixel (4, 32).ToArgb (), "4,32");
556 Assert.AreEqual (0, bmp.GetPixel (4, 36).ToArgb (), "4,36");
557 Assert.AreEqual (0, bmp.GetPixel (4, 40).ToArgb (), "4,40");
558 Assert.AreEqual (-1, bmp.GetPixel (4, 44).ToArgb (), "4,44");
559 Assert.AreEqual (-16777216, bmp.GetPixel (8, 0).ToArgb (), "8,0");
560 Assert.AreEqual (0, bmp.GetPixel (8, 4).ToArgb (), "8,4");
561 Assert.AreEqual (-16777216, bmp.GetPixel (8, 8).ToArgb (), "8,8");
562 Assert.AreEqual (-16777216, bmp.GetPixel (8, 12).ToArgb (), "8,12");
563 Assert.AreEqual (-16777216, bmp.GetPixel (8, 16).ToArgb (), "8,16");
564 Assert.AreEqual (-16777216, bmp.GetPixel (8, 20).ToArgb (), "8,20");
565 Assert.AreEqual (-16777216, bmp.GetPixel (8, 24).ToArgb (), "8,24");
566 Assert.AreEqual (-16777216, bmp.GetPixel (8, 28).ToArgb (), "8,28");
567 Assert.AreEqual (-16777216, bmp.GetPixel (8, 32).ToArgb (), "8,32");
568 Assert.AreEqual (-16777216, bmp.GetPixel (8, 36).ToArgb (), "8,36");
569 Assert.AreEqual (-16777216, bmp.GetPixel (8, 40).ToArgb (), "8,40");
570 Assert.AreEqual (-1, bmp.GetPixel (8, 44).ToArgb (), "8,44");
571 Assert.AreEqual (-16777216, bmp.GetPixel (12, 0).ToArgb (), "12,0");
572 Assert.AreEqual (0, bmp.GetPixel (12, 4).ToArgb (), "12,4");
573 Assert.AreEqual (-16777216, bmp.GetPixel (12, 8).ToArgb (), "12,8");
574 Assert.AreEqual (-1, bmp.GetPixel (12, 12).ToArgb (), "12,12");
575 Assert.AreEqual (-1, bmp.GetPixel (12, 16).ToArgb (), "12,16");
576 Assert.AreEqual (-1, bmp.GetPixel (12, 20).ToArgb (), "12,20");
577 Assert.AreEqual (-1, bmp.GetPixel (12, 24).ToArgb (), "12,24");
578 Assert.AreEqual (-1, bmp.GetPixel (12, 28).ToArgb (), "12,28");
579 Assert.AreEqual (-1, bmp.GetPixel (12, 32).ToArgb (), "12,32");
580 Assert.AreEqual (0, bmp.GetPixel (12, 36).ToArgb (), "12,36");
581 Assert.AreEqual (-16777216, bmp.GetPixel (12, 40).ToArgb (), "12,40");
582 Assert.AreEqual (-1, bmp.GetPixel (12, 44).ToArgb (), "12,44");
583 Assert.AreEqual (-16777216, bmp.GetPixel (16, 0).ToArgb (), "16,0");
584 Assert.AreEqual (0, bmp.GetPixel (16, 4).ToArgb (), "16,4");
585 Assert.AreEqual (-16777216, bmp.GetPixel (16, 8).ToArgb (), "16,8");
586 Assert.AreEqual (-1, bmp.GetPixel (16, 12).ToArgb (), "16,12");
587 Assert.AreEqual (0, bmp.GetPixel (16, 16).ToArgb (), "16,16");
588 Assert.AreEqual (0, bmp.GetPixel (16, 20).ToArgb (), "16,20");
589 Assert.AreEqual (0, bmp.GetPixel (16, 24).ToArgb (), "16,24");
590 Assert.AreEqual (0, bmp.GetPixel (16, 28).ToArgb (), "16,28");
591 Assert.AreEqual (-1, bmp.GetPixel (16, 32).ToArgb (), "16,32");
592 Assert.AreEqual (0, bmp.GetPixel (16, 36).ToArgb (), "16,36");
593 Assert.AreEqual (-16777216, bmp.GetPixel (16, 40).ToArgb (), "16,40");
594 Assert.AreEqual (-1, bmp.GetPixel (16, 44).ToArgb (), "16,44");
595 Assert.AreEqual (-16777216, bmp.GetPixel (20, 0).ToArgb (), "20,0");
596 Assert.AreEqual (0, bmp.GetPixel (20, 4).ToArgb (), "20,4");
597 Assert.AreEqual (-16777216, bmp.GetPixel (20, 8).ToArgb (), "20,8");
598 Assert.AreEqual (-1, bmp.GetPixel (20, 12).ToArgb (), "20,12");
599 Assert.AreEqual (0, bmp.GetPixel (20, 16).ToArgb (), "20,16");
600 Assert.AreEqual (-16777216, bmp.GetPixel (20, 20).ToArgb (), "20,20");
601 Assert.AreEqual (-16777216, bmp.GetPixel (20, 24).ToArgb (), "20,24");
602 Assert.AreEqual (0, bmp.GetPixel (20, 28).ToArgb (), "20,28");
603 Assert.AreEqual (-1, bmp.GetPixel (20, 32).ToArgb (), "20,32");
604 Assert.AreEqual (0, bmp.GetPixel (20, 36).ToArgb (), "20,36");
605 Assert.AreEqual (-16777216, bmp.GetPixel (20, 40).ToArgb (), "20,40");
606 Assert.AreEqual (-1, bmp.GetPixel (20, 44).ToArgb (), "20,44");
607 Assert.AreEqual (-16777216, bmp.GetPixel (24, 0).ToArgb (), "24,0");
608 Assert.AreEqual (0, bmp.GetPixel (24, 4).ToArgb (), "24,4");
609 Assert.AreEqual (-16777216, bmp.GetPixel (24, 8).ToArgb (), "24,8");
610 Assert.AreEqual (-1, bmp.GetPixel (24, 12).ToArgb (), "24,12");
611 Assert.AreEqual (0, bmp.GetPixel (24, 16).ToArgb (), "24,16");
617 public void Bitmap48Data ()
619 string sInFile = getInFile ("bitmaps/48x48x1.ico");
620 using (Bitmap bmp = new Bitmap (sInFile)) {
621 BitmapData data = bmp.LockBits (new Rectangle (0, 0, bmp.Width, bmp.Height), ImageLockMode.ReadOnly, PixelFormat.Format24bppRgb);
623 Assert.AreEqual (bmp.Height, data.Height, "Height");
624 Assert.AreEqual (bmp.Width, data.Width, "Width");
625 Assert.AreEqual (PixelFormat.Format24bppRgb, data.PixelFormat, "PixelFormat");
626 int size = data.Height * data.Stride;
628 byte* scan = (byte*) data.Scan0;
630 // 13 is prime (so we're not affected by a recurring pattern)
631 for (int p = 0; p < size; p += 13) {
632 Console.WriteLine ("\t\t\t\t\t\tAssert.AreEqual ({0}, *(scan + {1}), \"{1}\");", *(scan + p), p);
635 // sampling values from a well known bitmap
636 Assert.AreEqual (0, *(scan + 0), "0");
637 Assert.AreEqual (0, *(scan + 13), "13");
638 Assert.AreEqual (0, *(scan + 26), "26");
639 Assert.AreEqual (0, *(scan + 39), "39");
640 Assert.AreEqual (0, *(scan + 52), "52");
641 Assert.AreEqual (0, *(scan + 65), "65");
642 Assert.AreEqual (0, *(scan + 78), "78");
643 Assert.AreEqual (0, *(scan + 91), "91");
644 Assert.AreEqual (0, *(scan + 104), "104");
645 Assert.AreEqual (0, *(scan + 117), "117");
646 Assert.AreEqual (0, *(scan + 130), "130");
647 Assert.AreEqual (0, *(scan + 143), "143");
648 Assert.AreEqual (0, *(scan + 156), "156");
649 Assert.AreEqual (0, *(scan + 169), "169");
650 Assert.AreEqual (0, *(scan + 182), "182");
651 Assert.AreEqual (0, *(scan + 195), "195");
652 Assert.AreEqual (0, *(scan + 208), "208");
653 Assert.AreEqual (0, *(scan + 221), "221");
654 Assert.AreEqual (0, *(scan + 234), "234");
655 Assert.AreEqual (0, *(scan + 247), "247");
656 Assert.AreEqual (0, *(scan + 260), "260");
657 Assert.AreEqual (0, *(scan + 273), "273");
658 Assert.AreEqual (0, *(scan + 286), "286");
659 Assert.AreEqual (255, *(scan + 299), "299");
660 Assert.AreEqual (255, *(scan + 312), "312");
661 Assert.AreEqual (255, *(scan + 325), "325");
662 Assert.AreEqual (255, *(scan + 338), "338");
663 Assert.AreEqual (255, *(scan + 351), "351");
664 Assert.AreEqual (255, *(scan + 364), "364");
665 Assert.AreEqual (255, *(scan + 377), "377");
666 Assert.AreEqual (255, *(scan + 390), "390");
667 Assert.AreEqual (255, *(scan + 403), "403");
668 Assert.AreEqual (255, *(scan + 416), "416");
669 Assert.AreEqual (0, *(scan + 429), "429");
670 Assert.AreEqual (255, *(scan + 442), "442");
671 Assert.AreEqual (255, *(scan + 455), "455");
672 Assert.AreEqual (255, *(scan + 468), "468");
673 Assert.AreEqual (255, *(scan + 481), "481");
674 Assert.AreEqual (255, *(scan + 494), "494");
675 Assert.AreEqual (255, *(scan + 507), "507");
676 Assert.AreEqual (255, *(scan + 520), "520");
677 Assert.AreEqual (255, *(scan + 533), "533");
678 Assert.AreEqual (255, *(scan + 546), "546");
679 Assert.AreEqual (255, *(scan + 559), "559");
680 Assert.AreEqual (0, *(scan + 572), "572");
681 Assert.AreEqual (255, *(scan + 585), "585");
682 Assert.AreEqual (0, *(scan + 598), "598");
683 Assert.AreEqual (0, *(scan + 611), "611");
684 Assert.AreEqual (0, *(scan + 624), "624");
685 Assert.AreEqual (0, *(scan + 637), "637");
686 Assert.AreEqual (0, *(scan + 650), "650");
687 Assert.AreEqual (0, *(scan + 663), "663");
688 Assert.AreEqual (0, *(scan + 676), "676");
689 Assert.AreEqual (0, *(scan + 689), "689");
690 Assert.AreEqual (0, *(scan + 702), "702");
691 Assert.AreEqual (0, *(scan + 715), "715");
692 Assert.AreEqual (255, *(scan + 728), "728");
693 Assert.AreEqual (0, *(scan + 741), "741");
694 Assert.AreEqual (0, *(scan + 754), "754");
695 Assert.AreEqual (0, *(scan + 767), "767");
696 Assert.AreEqual (0, *(scan + 780), "780");
697 Assert.AreEqual (0, *(scan + 793), "793");
698 Assert.AreEqual (0, *(scan + 806), "806");
699 Assert.AreEqual (0, *(scan + 819), "819");
700 Assert.AreEqual (0, *(scan + 832), "832");
701 Assert.AreEqual (0, *(scan + 845), "845");
702 Assert.AreEqual (0, *(scan + 858), "858");
703 Assert.AreEqual (255, *(scan + 871), "871");
704 Assert.AreEqual (0, *(scan + 884), "884");
705 Assert.AreEqual (0, *(scan + 897), "897");
706 Assert.AreEqual (0, *(scan + 910), "910");
707 Assert.AreEqual (0, *(scan + 923), "923");
708 Assert.AreEqual (0, *(scan + 936), "936");
713 bmp.UnlockBits (data);
718 // 64x64x256 only has a 64x64 size available
720 public void Bitmap64Features ()
722 string sInFile = getInFile ("bitmaps/64x64x256.ico");
723 using (Bitmap bmp = new Bitmap (sInFile)) {
724 GraphicsUnit unit = GraphicsUnit.World;
725 RectangleF rect = bmp.GetBounds (ref unit);
727 Assert.IsTrue (bmp.RawFormat.Equals (ImageFormat.Icon), "Icon");
728 Assert.AreEqual (PixelFormat.Format32bppArgb, bmp.PixelFormat);
729 Assert.AreEqual (73746, bmp.Flags, "bmp.Flags");
730 Assert.AreEqual (256, bmp.Palette.Entries.Length, "Palette");
731 Assert.AreEqual (1, bmp.FrameDimensionsList.Length, "FrameDimensionsList");
732 Assert.AreEqual (0, bmp.PropertyIdList.Length, "PropertyIdList");
733 Assert.AreEqual (0, bmp.PropertyItems.Length, "PropertyItems");
734 Assert.IsNull (bmp.Tag, "Tag");
735 Assert.AreEqual (96.0f, bmp.HorizontalResolution, "HorizontalResolution");
736 Assert.AreEqual (96.0f, bmp.VerticalResolution, "VerticalResolution");
737 Assert.AreEqual (64, bmp.Width, "bmp.Width");
738 Assert.AreEqual (64, bmp.Height, "bmp.Height");
740 Assert.AreEqual (0, rect.X, "rect.X");
741 Assert.AreEqual (0, rect.Y, "rect.Y");
742 Assert.AreEqual (64, rect.Width, "rect.Width");
743 Assert.AreEqual (64, rect.Height, "rect.Height");
745 Assert.AreEqual (64, bmp.Size.Width, "bmp.Size.Width");
746 Assert.AreEqual (64, bmp.Size.Height, "bmp.Size.Height");
751 public void Bitmap64Pixels ()
753 string sInFile = getInFile ("bitmaps/64x64x256.ico");
754 using (Bitmap bmp = new Bitmap (sInFile)) {
756 for (int x = 0; x < bmp.Width; x += 4) {
757 for (int y = 0; y < bmp.Height; y += 4)
758 Console.WriteLine ("\t\t\t\tAssert.AreEqual ({0}, bmp.GetPixel ({1}, {2}).ToArgb (), \"{1},{2}\");", bmp.GetPixel (x, y).ToArgb (), x, y);
761 // sampling values from a well known bitmap
762 Assert.AreEqual (-65383, bmp.GetPixel (0, 0).ToArgb (), "0,0");
763 Assert.AreEqual (-65383, bmp.GetPixel (0, 4).ToArgb (), "0,4");
764 Assert.AreEqual (-65383, bmp.GetPixel (0, 8).ToArgb (), "0,8");
765 Assert.AreEqual (-65383, bmp.GetPixel (0, 12).ToArgb (), "0,12");
766 Assert.AreEqual (-65383, bmp.GetPixel (0, 16).ToArgb (), "0,16");
767 Assert.AreEqual (-65383, bmp.GetPixel (0, 20).ToArgb (), "0,20");
768 Assert.AreEqual (-65383, bmp.GetPixel (0, 24).ToArgb (), "0,24");
769 Assert.AreEqual (-65383, bmp.GetPixel (0, 28).ToArgb (), "0,28");
770 Assert.AreEqual (-65383, bmp.GetPixel (0, 32).ToArgb (), "0,32");
771 Assert.AreEqual (-65383, bmp.GetPixel (0, 36).ToArgb (), "0,36");
772 Assert.AreEqual (-65383, bmp.GetPixel (0, 40).ToArgb (), "0,40");
773 Assert.AreEqual (-65383, bmp.GetPixel (0, 44).ToArgb (), "0,44");
774 Assert.AreEqual (-65383, bmp.GetPixel (0, 48).ToArgb (), "0,48");
775 Assert.AreEqual (-65383, bmp.GetPixel (0, 52).ToArgb (), "0,52");
776 Assert.AreEqual (-65383, bmp.GetPixel (0, 56).ToArgb (), "0,56");
777 Assert.AreEqual (-65383, bmp.GetPixel (0, 60).ToArgb (), "0,60");
778 Assert.AreEqual (-65383, bmp.GetPixel (4, 0).ToArgb (), "4,0");
779 Assert.AreEqual (-10079335, bmp.GetPixel (4, 4).ToArgb (), "4,4");
780 Assert.AreEqual (-10079335, bmp.GetPixel (4, 8).ToArgb (), "4,8");
781 Assert.AreEqual (-10079335, bmp.GetPixel (4, 12).ToArgb (), "4,12");
782 Assert.AreEqual (-10079335, bmp.GetPixel (4, 16).ToArgb (), "4,16");
783 Assert.AreEqual (-10079335, bmp.GetPixel (4, 20).ToArgb (), "4,20");
784 Assert.AreEqual (-10079335, bmp.GetPixel (4, 24).ToArgb (), "4,24");
785 Assert.AreEqual (-10079335, bmp.GetPixel (4, 28).ToArgb (), "4,28");
786 Assert.AreEqual (-10079335, bmp.GetPixel (4, 32).ToArgb (), "4,32");
787 Assert.AreEqual (-10079335, bmp.GetPixel (4, 36).ToArgb (), "4,36");
788 Assert.AreEqual (-10079335, bmp.GetPixel (4, 40).ToArgb (), "4,40");
789 Assert.AreEqual (-10079335, bmp.GetPixel (4, 44).ToArgb (), "4,44");
790 Assert.AreEqual (-10079335, bmp.GetPixel (4, 48).ToArgb (), "4,48");
791 Assert.AreEqual (-10079335, bmp.GetPixel (4, 52).ToArgb (), "4,52");
792 Assert.AreEqual (-10079335, bmp.GetPixel (4, 56).ToArgb (), "4,56");
793 Assert.AreEqual (0, bmp.GetPixel (4, 60).ToArgb (), "4,60");
794 Assert.AreEqual (-65383, bmp.GetPixel (8, 0).ToArgb (), "8,0");
795 Assert.AreEqual (-10079335, bmp.GetPixel (8, 4).ToArgb (), "8,4");
796 Assert.AreEqual (-3342490, bmp.GetPixel (8, 8).ToArgb (), "8,8");
797 Assert.AreEqual (-3342490, bmp.GetPixel (8, 12).ToArgb (), "8,12");
798 Assert.AreEqual (-3342490, bmp.GetPixel (8, 16).ToArgb (), "8,16");
799 Assert.AreEqual (-3342490, bmp.GetPixel (8, 20).ToArgb (), "8,20");
800 Assert.AreEqual (-3342490, bmp.GetPixel (8, 24).ToArgb (), "8,24");
801 Assert.AreEqual (-3342490, bmp.GetPixel (8, 28).ToArgb (), "8,28");
802 Assert.AreEqual (-3342490, bmp.GetPixel (8, 32).ToArgb (), "8,32");
803 Assert.AreEqual (-3342490, bmp.GetPixel (8, 36).ToArgb (), "8,36");
804 Assert.AreEqual (-3342490, bmp.GetPixel (8, 40).ToArgb (), "8,40");
805 Assert.AreEqual (-3342490, bmp.GetPixel (8, 44).ToArgb (), "8,44");
806 Assert.AreEqual (-3342490, bmp.GetPixel (8, 48).ToArgb (), "8,48");
807 Assert.AreEqual (-3342490, bmp.GetPixel (8, 52).ToArgb (), "8,52");
808 Assert.AreEqual (0, bmp.GetPixel (8, 56).ToArgb (), "8,56");
809 Assert.AreEqual (0, bmp.GetPixel (8, 60).ToArgb (), "8,60");
810 Assert.AreEqual (-65383, bmp.GetPixel (12, 0).ToArgb (), "12,0");
811 Assert.AreEqual (-10079335, bmp.GetPixel (12, 4).ToArgb (), "12,4");
812 Assert.AreEqual (-3342490, bmp.GetPixel (12, 8).ToArgb (), "12,8");
813 Assert.AreEqual (-33664, bmp.GetPixel (12, 12).ToArgb (), "12,12");
814 Assert.AreEqual (-33664, bmp.GetPixel (12, 16).ToArgb (), "12,16");
815 Assert.AreEqual (-33664, bmp.GetPixel (12, 20).ToArgb (), "12,20");
816 Assert.AreEqual (-33664, bmp.GetPixel (12, 24).ToArgb (), "12,24");
817 Assert.AreEqual (-33664, bmp.GetPixel (12, 28).ToArgb (), "12,28");
818 Assert.AreEqual (-33664, bmp.GetPixel (12, 32).ToArgb (), "12,32");
819 Assert.AreEqual (-33664, bmp.GetPixel (12, 36).ToArgb (), "12,36");
820 Assert.AreEqual (-33664, bmp.GetPixel (12, 40).ToArgb (), "12,40");
826 public void Bitmap64Data ()
828 string sInFile = getInFile ("bitmaps/64x64x256.ico");
829 using (Bitmap bmp = new Bitmap (sInFile)) {
830 BitmapData data = bmp.LockBits (new Rectangle (0, 0, bmp.Width, bmp.Height), ImageLockMode.ReadOnly, PixelFormat.Format24bppRgb);
832 Assert.AreEqual (bmp.Height, data.Height, "Height");
833 Assert.AreEqual (bmp.Width, data.Width, "Width");
834 Assert.AreEqual (PixelFormat.Format24bppRgb, data.PixelFormat, "PixelFormat");
835 int size = data.Height * data.Stride;
837 byte* scan = (byte*) data.Scan0;
839 // 97 is prime (so we're not affected by a recurring pattern)
840 for (int p = 0; p < size; p += 97) {
841 Console.WriteLine ("\t\t\t\t\t\tAssert.AreEqual ({0}, *(scan + {1}), \"{1}\");", *(scan + p), p);
844 // sampling values from a well known bitmap
845 Assert.AreEqual (153, *(scan + 0), "0");
846 Assert.AreEqual (0, *(scan + 97), "97");
847 Assert.AreEqual (255, *(scan + 194), "194");
848 Assert.AreEqual (0, *(scan + 291), "291");
849 Assert.AreEqual (0, *(scan + 388), "388");
850 Assert.AreEqual (204, *(scan + 485), "485");
851 Assert.AreEqual (204, *(scan + 582), "582");
852 Assert.AreEqual (0, *(scan + 679), "679");
853 Assert.AreEqual (204, *(scan + 776), "776");
854 Assert.AreEqual (153, *(scan + 873), "873");
855 Assert.AreEqual (0, *(scan + 970), "970");
856 Assert.AreEqual (0, *(scan + 1067), "1067");
857 Assert.AreEqual (153, *(scan + 1164), "1164");
858 Assert.AreEqual (153, *(scan + 1261), "1261");
859 Assert.AreEqual (102, *(scan + 1358), "1358");
860 Assert.AreEqual (0, *(scan + 1455), "1455");
861 Assert.AreEqual (0, *(scan + 1552), "1552");
862 Assert.AreEqual (204, *(scan + 1649), "1649");
863 Assert.AreEqual (153, *(scan + 1746), "1746");
864 Assert.AreEqual (0, *(scan + 1843), "1843");
865 Assert.AreEqual (0, *(scan + 1940), "1940");
866 Assert.AreEqual (51, *(scan + 2037), "2037");
867 Assert.AreEqual (0, *(scan + 2134), "2134");
868 Assert.AreEqual (0, *(scan + 2231), "2231");
869 Assert.AreEqual (102, *(scan + 2328), "2328");
870 Assert.AreEqual (124, *(scan + 2425), "2425");
871 Assert.AreEqual (204, *(scan + 2522), "2522");
872 Assert.AreEqual (0, *(scan + 2619), "2619");
873 Assert.AreEqual (0, *(scan + 2716), "2716");
874 Assert.AreEqual (204, *(scan + 2813), "2813");
875 Assert.AreEqual (51, *(scan + 2910), "2910");
876 Assert.AreEqual (0, *(scan + 3007), "3007");
877 Assert.AreEqual (255, *(scan + 3104), "3104");
878 Assert.AreEqual (0, *(scan + 3201), "3201");
879 Assert.AreEqual (0, *(scan + 3298), "3298");
880 Assert.AreEqual (0, *(scan + 3395), "3395");
881 Assert.AreEqual (128, *(scan + 3492), "3492");
882 Assert.AreEqual (0, *(scan + 3589), "3589");
883 Assert.AreEqual (255, *(scan + 3686), "3686");
884 Assert.AreEqual (128, *(scan + 3783), "3783");
885 Assert.AreEqual (0, *(scan + 3880), "3880");
886 Assert.AreEqual (128, *(scan + 3977), "3977");
887 Assert.AreEqual (0, *(scan + 4074), "4074");
888 Assert.AreEqual (0, *(scan + 4171), "4171");
889 Assert.AreEqual (204, *(scan + 4268), "4268");
890 Assert.AreEqual (0, *(scan + 4365), "4365");
891 Assert.AreEqual (0, *(scan + 4462), "4462");
892 Assert.AreEqual (102, *(scan + 4559), "4559");
893 Assert.AreEqual (0, *(scan + 4656), "4656");
894 Assert.AreEqual (0, *(scan + 4753), "4753");
895 Assert.AreEqual (102, *(scan + 4850), "4850");
896 Assert.AreEqual (0, *(scan + 4947), "4947");
897 Assert.AreEqual (0, *(scan + 5044), "5044");
898 Assert.AreEqual (204, *(scan + 5141), "5141");
899 Assert.AreEqual (128, *(scan + 5238), "5238");
900 Assert.AreEqual (0, *(scan + 5335), "5335");
901 Assert.AreEqual (128, *(scan + 5432), "5432");
902 Assert.AreEqual (128, *(scan + 5529), "5529");
903 Assert.AreEqual (0, *(scan + 5626), "5626");
904 Assert.AreEqual (255, *(scan + 5723), "5723");
905 Assert.AreEqual (153, *(scan + 5820), "5820");
906 Assert.AreEqual (0, *(scan + 5917), "5917");
907 Assert.AreEqual (0, *(scan + 6014), "6014");
908 Assert.AreEqual (51, *(scan + 6111), "6111");
909 Assert.AreEqual (0, *(scan + 6208), "6208");
910 Assert.AreEqual (255, *(scan + 6305), "6305");
911 Assert.AreEqual (153, *(scan + 6402), "6402");
912 Assert.AreEqual (0, *(scan + 6499), "6499");
913 Assert.AreEqual (153, *(scan + 6596), "6596");
914 Assert.AreEqual (102, *(scan + 6693), "6693");
915 Assert.AreEqual (0, *(scan + 6790), "6790");
916 Assert.AreEqual (204, *(scan + 6887), "6887");
917 Assert.AreEqual (153, *(scan + 6984), "6984");
918 Assert.AreEqual (0, *(scan + 7081), "7081");
919 Assert.AreEqual (204, *(scan + 7178), "7178");
920 Assert.AreEqual (153, *(scan + 7275), "7275");
921 Assert.AreEqual (0, *(scan + 7372), "7372");
922 Assert.AreEqual (0, *(scan + 7469), "7469");
923 Assert.AreEqual (153, *(scan + 7566), "7566");
924 Assert.AreEqual (0, *(scan + 7663), "7663");
925 Assert.AreEqual (0, *(scan + 7760), "7760");
926 Assert.AreEqual (153, *(scan + 7857), "7857");
927 Assert.AreEqual (102, *(scan + 7954), "7954");
928 Assert.AreEqual (102, *(scan + 8051), "8051");
929 Assert.AreEqual (0, *(scan + 8148), "8148");
930 Assert.AreEqual (0, *(scan + 8245), "8245");
931 Assert.AreEqual (0, *(scan + 8342), "8342");
932 Assert.AreEqual (204, *(scan + 8439), "8439");
933 Assert.AreEqual (0, *(scan + 8536), "8536");
934 Assert.AreEqual (204, *(scan + 8633), "8633");
935 Assert.AreEqual (128, *(scan + 8730), "8730");
936 Assert.AreEqual (0, *(scan + 8827), "8827");
937 Assert.AreEqual (0, *(scan + 8924), "8924");
938 Assert.AreEqual (153, *(scan + 9021), "9021");
939 Assert.AreEqual (153, *(scan + 9118), "9118");
940 Assert.AreEqual (255, *(scan + 9215), "9215");
941 Assert.AreEqual (0, *(scan + 9312), "9312");
942 Assert.AreEqual (0, *(scan + 9409), "9409");
943 Assert.AreEqual (204, *(scan + 9506), "9506");
944 Assert.AreEqual (0, *(scan + 9603), "9603");
945 Assert.AreEqual (0, *(scan + 9700), "9700");
946 Assert.AreEqual (0, *(scan + 9797), "9797");
947 Assert.AreEqual (128, *(scan + 9894), "9894");
948 Assert.AreEqual (0, *(scan + 9991), "9991");
949 Assert.AreEqual (0, *(scan + 10088), "10088");
950 Assert.AreEqual (0, *(scan + 10185), "10185");
951 Assert.AreEqual (102, *(scan + 10282), "10282");
952 Assert.AreEqual (0, *(scan + 10379), "10379");
953 Assert.AreEqual (0, *(scan + 10476), "10476");
954 Assert.AreEqual (51, *(scan + 10573), "10573");
955 Assert.AreEqual (204, *(scan + 10670), "10670");
956 Assert.AreEqual (0, *(scan + 10767), "10767");
957 Assert.AreEqual (0, *(scan + 10864), "10864");
958 Assert.AreEqual (0, *(scan + 10961), "10961");
959 Assert.AreEqual (153, *(scan + 11058), "11058");
960 Assert.AreEqual (0, *(scan + 11155), "11155");
961 Assert.AreEqual (0, *(scan + 11252), "11252");
962 Assert.AreEqual (153, *(scan + 11349), "11349");
963 Assert.AreEqual (51, *(scan + 11446), "11446");
964 Assert.AreEqual (0, *(scan + 11543), "11543");
965 Assert.AreEqual (0, *(scan + 11640), "11640");
966 Assert.AreEqual (0, *(scan + 11737), "11737");
967 Assert.AreEqual (204, *(scan + 11834), "11834");
968 Assert.AreEqual (0, *(scan + 11931), "11931");
969 Assert.AreEqual (0, *(scan + 12028), "12028");
970 Assert.AreEqual (255, *(scan + 12125), "12125");
971 Assert.AreEqual (153, *(scan + 12222), "12222");
976 bmp.UnlockBits (data);
981 // 96x96x256.ico only has a 96x96 size available
983 public void Bitmap96Features ()
985 string sInFile = getInFile ("bitmaps/96x96x256.ico");
986 using (Bitmap bmp = new Bitmap (sInFile)) {
987 GraphicsUnit unit = GraphicsUnit.World;
988 RectangleF rect = bmp.GetBounds (ref unit);
990 Assert.IsTrue (bmp.RawFormat.Equals (ImageFormat.Icon), "Icon");
991 Assert.AreEqual (PixelFormat.Format32bppArgb, bmp.PixelFormat);
992 Assert.AreEqual (73746, bmp.Flags, "bmp.Flags");
993 Assert.AreEqual (256, bmp.Palette.Entries.Length, "Palette");
994 Assert.AreEqual (1, bmp.FrameDimensionsList.Length, "FrameDimensionsList");
995 Assert.AreEqual (0, bmp.PropertyIdList.Length, "PropertyIdList");
996 Assert.AreEqual (0, bmp.PropertyItems.Length, "PropertyItems");
997 Assert.IsNull (bmp.Tag, "Tag");
998 Assert.AreEqual (96.0f, bmp.HorizontalResolution, "HorizontalResolution");
999 Assert.AreEqual (96.0f, bmp.VerticalResolution, "VerticalResolution");
1000 Assert.AreEqual (96, bmp.Width, "bmp.Width");
1001 Assert.AreEqual (96, bmp.Height, "bmp.Height");
1003 Assert.AreEqual (0, rect.X, "rect.X");
1004 Assert.AreEqual (0, rect.Y, "rect.Y");
1005 Assert.AreEqual (96, rect.Width, "rect.Width");
1006 Assert.AreEqual (96, rect.Height, "rect.Height");
1008 Assert.AreEqual (96, bmp.Size.Width, "bmp.Size.Width");
1009 Assert.AreEqual (96, bmp.Size.Height, "bmp.Size.Height");
1014 public void Bitmap96Pixels ()
1016 string sInFile = getInFile ("bitmaps/96x96x256.ico");
1017 using (Bitmap bmp = new Bitmap (sInFile)) {
1019 for (int x = 0; x < bmp.Width; x += 4) {
1020 for (int y = 0; y < bmp.Height; y += 4)
1021 Console.WriteLine ("\t\t\t\tAssert.AreEqual ({0}, bmp.GetPixel ({1}, {2}).ToArgb (), \"{1},{2}\");", bmp.GetPixel (x, y).ToArgb (), x, y);
1024 // sampling values from a well known bitmap
1025 Assert.AreEqual (0, bmp.GetPixel (0, 0).ToArgb (), "0,0");
1026 Assert.AreEqual (0, bmp.GetPixel (0, 4).ToArgb (), "0,4");
1027 Assert.AreEqual (0, bmp.GetPixel (0, 8).ToArgb (), "0,8");
1028 Assert.AreEqual (0, bmp.GetPixel (0, 12).ToArgb (), "0,12");
1029 Assert.AreEqual (0, bmp.GetPixel (0, 16).ToArgb (), "0,16");
1030 Assert.AreEqual (0, bmp.GetPixel (0, 20).ToArgb (), "0,20");
1031 Assert.AreEqual (0, bmp.GetPixel (0, 24).ToArgb (), "0,24");
1032 Assert.AreEqual (0, bmp.GetPixel (0, 28).ToArgb (), "0,28");
1033 Assert.AreEqual (0, bmp.GetPixel (0, 32).ToArgb (), "0,32");
1034 Assert.AreEqual (0, bmp.GetPixel (0, 36).ToArgb (), "0,36");
1035 Assert.AreEqual (0, bmp.GetPixel (0, 40).ToArgb (), "0,40");
1036 Assert.AreEqual (0, bmp.GetPixel (0, 44).ToArgb (), "0,44");
1037 Assert.AreEqual (0, bmp.GetPixel (0, 48).ToArgb (), "0,48");
1038 Assert.AreEqual (0, bmp.GetPixel (0, 52).ToArgb (), "0,52");
1039 Assert.AreEqual (0, bmp.GetPixel (0, 56).ToArgb (), "0,56");
1040 Assert.AreEqual (0, bmp.GetPixel (0, 60).ToArgb (), "0,60");
1041 Assert.AreEqual (0, bmp.GetPixel (0, 64).ToArgb (), "0,64");
1042 Assert.AreEqual (-14935012, bmp.GetPixel (0, 68).ToArgb (), "0,68");
1043 Assert.AreEqual (0, bmp.GetPixel (0, 72).ToArgb (), "0,72");
1044 Assert.AreEqual (0, bmp.GetPixel (0, 76).ToArgb (), "0,76");
1045 Assert.AreEqual (0, bmp.GetPixel (0, 80).ToArgb (), "0,80");
1046 Assert.AreEqual (0, bmp.GetPixel (0, 84).ToArgb (), "0,84");
1047 Assert.AreEqual (0, bmp.GetPixel (0, 88).ToArgb (), "0,88");
1048 Assert.AreEqual (0, bmp.GetPixel (0, 92).ToArgb (), "0,92");
1049 Assert.AreEqual (0, bmp.GetPixel (4, 0).ToArgb (), "4,0");
1050 Assert.AreEqual (0, bmp.GetPixel (4, 4).ToArgb (), "4,4");
1051 Assert.AreEqual (-14935012, bmp.GetPixel (4, 8).ToArgb (), "4,8");
1052 Assert.AreEqual (-3407872, bmp.GetPixel (4, 12).ToArgb (), "4,12");
1053 Assert.AreEqual (-3407872, bmp.GetPixel (4, 16).ToArgb (), "4,16");
1054 Assert.AreEqual (-14935012, bmp.GetPixel (4, 20).ToArgb (), "4,20");
1055 Assert.AreEqual (0, bmp.GetPixel (4, 24).ToArgb (), "4,24");
1056 Assert.AreEqual (0, bmp.GetPixel (4, 28).ToArgb (), "4,28");
1057 Assert.AreEqual (0, bmp.GetPixel (4, 32).ToArgb (), "4,32");
1058 Assert.AreEqual (0, bmp.GetPixel (4, 36).ToArgb (), "4,36");
1059 Assert.AreEqual (-3368602, bmp.GetPixel (4, 40).ToArgb (), "4,40");
1060 Assert.AreEqual (-3368602, bmp.GetPixel (4, 44).ToArgb (), "4,44");
1061 Assert.AreEqual (-3368602, bmp.GetPixel (4, 48).ToArgb (), "4,48");
1062 Assert.AreEqual (-3368602, bmp.GetPixel (4, 52).ToArgb (), "4,52");
1063 Assert.AreEqual (0, bmp.GetPixel (4, 56).ToArgb (), "4,56");
1064 Assert.AreEqual (0, bmp.GetPixel (4, 60).ToArgb (), "4,60");
1065 Assert.AreEqual (-3342541, bmp.GetPixel (4, 64).ToArgb (), "4,64");
1066 Assert.AreEqual (-3342541, bmp.GetPixel (4, 68).ToArgb (), "4,68");
1067 Assert.AreEqual (-3342541, bmp.GetPixel (4, 72).ToArgb (), "4,72");
1068 Assert.AreEqual (0, bmp.GetPixel (4, 76).ToArgb (), "4,76");
1069 Assert.AreEqual (0, bmp.GetPixel (4, 80).ToArgb (), "4,80");
1070 Assert.AreEqual (-26317, bmp.GetPixel (4, 84).ToArgb (), "4,84");
1071 Assert.AreEqual (-26317, bmp.GetPixel (4, 88).ToArgb (), "4,88");
1072 Assert.AreEqual (-26317, bmp.GetPixel (4, 92).ToArgb (), "4,92");
1073 Assert.AreEqual (0, bmp.GetPixel (8, 0).ToArgb (), "8,0");
1074 Assert.AreEqual (-14935012, bmp.GetPixel (8, 4).ToArgb (), "8,4");
1075 Assert.AreEqual (-3407872, bmp.GetPixel (8, 8).ToArgb (), "8,8");
1076 Assert.AreEqual (-3407872, bmp.GetPixel (8, 12).ToArgb (), "8,12");
1077 Assert.AreEqual (-3407872, bmp.GetPixel (8, 16).ToArgb (), "8,16");
1078 Assert.AreEqual (-3407872, bmp.GetPixel (8, 20).ToArgb (), "8,20");
1079 Assert.AreEqual (-14935012, bmp.GetPixel (8, 24).ToArgb (), "8,24");
1080 Assert.AreEqual (0, bmp.GetPixel (8, 28).ToArgb (), "8,28");
1081 Assert.AreEqual (0, bmp.GetPixel (8, 32).ToArgb (), "8,32");
1082 Assert.AreEqual (-3368602, bmp.GetPixel (8, 36).ToArgb (), "8,36");
1083 Assert.AreEqual (-3368602, bmp.GetPixel (8, 40).ToArgb (), "8,40");
1084 Assert.AreEqual (-3368602, bmp.GetPixel (8, 44).ToArgb (), "8,44");
1085 Assert.AreEqual (-3368602, bmp.GetPixel (8, 48).ToArgb (), "8,48");
1086 Assert.AreEqual (-3368602, bmp.GetPixel (8, 52).ToArgb (), "8,52");
1087 Assert.AreEqual (-3368602, bmp.GetPixel (8, 56).ToArgb (), "8,56");
1088 Assert.AreEqual (0, bmp.GetPixel (8, 60).ToArgb (), "8,60");
1089 Assert.AreEqual (-3342541, bmp.GetPixel (8, 64).ToArgb (), "8,64");
1090 Assert.AreEqual (-3342541, bmp.GetPixel (8, 68).ToArgb (), "8,68");
1091 Assert.AreEqual (-3342541, bmp.GetPixel (8, 72).ToArgb (), "8,72");
1092 Assert.AreEqual (0, bmp.GetPixel (8, 76).ToArgb (), "8,76");
1093 Assert.AreEqual (0, bmp.GetPixel (8, 80).ToArgb (), "8,80");
1094 Assert.AreEqual (-26317, bmp.GetPixel (8, 84).ToArgb (), "8,84");
1095 Assert.AreEqual (-26317, bmp.GetPixel (8, 88).ToArgb (), "8,88");
1096 Assert.AreEqual (-26317, bmp.GetPixel (8, 92).ToArgb (), "8,92");
1097 Assert.AreEqual (0, bmp.GetPixel (12, 0).ToArgb (), "12,0");
1098 Assert.AreEqual (-3407872, bmp.GetPixel (12, 4).ToArgb (), "12,4");
1099 Assert.AreEqual (-3407872, bmp.GetPixel (12, 8).ToArgb (), "12,8");
1100 Assert.AreEqual (-3407872, bmp.GetPixel (12, 12).ToArgb (), "12,12");
1101 Assert.AreEqual (-3407872, bmp.GetPixel (12, 16).ToArgb (), "12,16");
1102 Assert.AreEqual (-3407872, bmp.GetPixel (12, 20).ToArgb (), "12,20");
1103 Assert.AreEqual (-3407872, bmp.GetPixel (12, 24).ToArgb (), "12,24");
1104 Assert.AreEqual (0, bmp.GetPixel (12, 28).ToArgb (), "12,28");
1105 Assert.AreEqual (-3368602, bmp.GetPixel (12, 32).ToArgb (), "12,32");
1106 Assert.AreEqual (-3368602, bmp.GetPixel (12, 36).ToArgb (), "12,36");
1107 Assert.AreEqual (-3368602, bmp.GetPixel (12, 40).ToArgb (), "12,40");
1108 Assert.AreEqual (-3368602, bmp.GetPixel (12, 44).ToArgb (), "12,44");
1109 Assert.AreEqual (-3368602, bmp.GetPixel (12, 48).ToArgb (), "12,48");
1110 Assert.AreEqual (-3368602, bmp.GetPixel (12, 52).ToArgb (), "12,52");
1111 Assert.AreEqual (-3368602, bmp.GetPixel (12, 56).ToArgb (), "12,56");
1112 Assert.AreEqual (-3368602, bmp.GetPixel (12, 60).ToArgb (), "12,60");
1113 Assert.AreEqual (-3342541, bmp.GetPixel (12, 64).ToArgb (), "12,64");
1114 Assert.AreEqual (-3342541, bmp.GetPixel (12, 68).ToArgb (), "12,68");
1115 Assert.AreEqual (-14935012, bmp.GetPixel (12, 72).ToArgb (), "12,72");
1116 Assert.AreEqual (0, bmp.GetPixel (12, 76).ToArgb (), "12,76");
1117 Assert.AreEqual (0, bmp.GetPixel (12, 80).ToArgb (), "12,80");
1118 Assert.AreEqual (-26317, bmp.GetPixel (12, 84).ToArgb (), "12,84");
1119 Assert.AreEqual (-26317, bmp.GetPixel (12, 88).ToArgb (), "12,88");
1120 Assert.AreEqual (-26317, bmp.GetPixel (12, 92).ToArgb (), "12,92");
1121 Assert.AreEqual (0, bmp.GetPixel (16, 0).ToArgb (), "16,0");
1122 Assert.AreEqual (-3407872, bmp.GetPixel (16, 4).ToArgb (), "16,4");
1123 Assert.AreEqual (-3407872, bmp.GetPixel (16, 8).ToArgb (), "16,8");
1124 Assert.AreEqual (-3407872, bmp.GetPixel (16, 12).ToArgb (), "16,12");
1125 Assert.AreEqual (-3407872, bmp.GetPixel (16, 16).ToArgb (), "16,16");
1126 Assert.AreEqual (-3407872, bmp.GetPixel (16, 20).ToArgb (), "16,20");
1127 Assert.AreEqual (-3407872, bmp.GetPixel (16, 24).ToArgb (), "16,24");
1128 Assert.AreEqual (0, bmp.GetPixel (16, 28).ToArgb (), "16,28");
1129 Assert.AreEqual (-3368602, bmp.GetPixel (16, 32).ToArgb (), "16,32");
1130 Assert.AreEqual (-3368602, bmp.GetPixel (16, 36).ToArgb (), "16,36");
1131 Assert.AreEqual (-3368602, bmp.GetPixel (16, 40).ToArgb (), "16,40");
1132 Assert.AreEqual (-3368602, bmp.GetPixel (16, 44).ToArgb (), "16,44");
1133 Assert.AreEqual (-3368602, bmp.GetPixel (16, 48).ToArgb (), "16,48");
1134 Assert.AreEqual (-3368602, bmp.GetPixel (16, 52).ToArgb (), "16,52");
1135 Assert.AreEqual (-3368602, bmp.GetPixel (16, 56).ToArgb (), "16,56");
1136 Assert.AreEqual (-3368602, bmp.GetPixel (16, 60).ToArgb (), "16,60");
1137 Assert.AreEqual (0, bmp.GetPixel (16, 64).ToArgb (), "16,64");
1138 Assert.AreEqual (0, bmp.GetPixel (16, 68).ToArgb (), "16,68");
1139 Assert.AreEqual (0, bmp.GetPixel (16, 72).ToArgb (), "16,72");
1140 Assert.AreEqual (0, bmp.GetPixel (16, 76).ToArgb (), "16,76");
1141 Assert.AreEqual (-14935012, bmp.GetPixel (16, 80).ToArgb (), "16,80");
1142 Assert.AreEqual (0, bmp.GetPixel (16, 84).ToArgb (), "16,84");
1143 Assert.AreEqual (-14935012, bmp.GetPixel (16, 88).ToArgb (), "16,88");
1144 Assert.AreEqual (0, bmp.GetPixel (16, 92).ToArgb (), "16,92");
1145 Assert.AreEqual (0, bmp.GetPixel (20, 0).ToArgb (), "20,0");
1146 Assert.AreEqual (-14935012, bmp.GetPixel (20, 4).ToArgb (), "20,4");
1147 Assert.AreEqual (-3407872, bmp.GetPixel (20, 8).ToArgb (), "20,8");
1148 Assert.AreEqual (-3407872, bmp.GetPixel (20, 12).ToArgb (), "20,12");
1149 Assert.AreEqual (-3407872, bmp.GetPixel (20, 16).ToArgb (), "20,16");
1150 Assert.AreEqual (-3407872, bmp.GetPixel (20, 20).ToArgb (), "20,20");
1151 Assert.AreEqual (-14935012, bmp.GetPixel (20, 24).ToArgb (), "20,24");
1152 Assert.AreEqual (0, bmp.GetPixel (20, 28).ToArgb (), "20,28");
1153 Assert.AreEqual (-3368602, bmp.GetPixel (20, 32).ToArgb (), "20,32");
1154 Assert.AreEqual (-3368602, bmp.GetPixel (20, 36).ToArgb (), "20,36");
1155 Assert.AreEqual (-3368602, bmp.GetPixel (20, 40).ToArgb (), "20,40");
1156 Assert.AreEqual (-3368602, bmp.GetPixel (20, 44).ToArgb (), "20,44");
1157 Assert.AreEqual (-3368602, bmp.GetPixel (20, 48).ToArgb (), "20,48");
1158 Assert.AreEqual (-3368602, bmp.GetPixel (20, 52).ToArgb (), "20,52");
1159 Assert.AreEqual (-3368602, bmp.GetPixel (20, 56).ToArgb (), "20,56");
1160 Assert.AreEqual (-3368602, bmp.GetPixel (20, 60).ToArgb (), "20,60");
1161 Assert.AreEqual (0, bmp.GetPixel (20, 64).ToArgb (), "20,64");
1162 Assert.AreEqual (0, bmp.GetPixel (20, 68).ToArgb (), "20,68");
1163 Assert.AreEqual (-13434829, bmp.GetPixel (20, 72).ToArgb (), "20,72");
1164 Assert.AreEqual (-13434829, bmp.GetPixel (20, 76).ToArgb (), "20,76");
1165 Assert.AreEqual (-13434829, bmp.GetPixel (20, 80).ToArgb (), "20,80");
1166 Assert.AreEqual (-13434829, bmp.GetPixel (20, 84).ToArgb (), "20,84");
1167 Assert.AreEqual (-13434829, bmp.GetPixel (20, 88).ToArgb (), "20,88");
1168 Assert.AreEqual (0, bmp.GetPixel (20, 92).ToArgb (), "20,92");
1169 Assert.AreEqual (0, bmp.GetPixel (24, 0).ToArgb (), "24,0");
1170 Assert.AreEqual (0, bmp.GetPixel (24, 4).ToArgb (), "24,4");
1171 Assert.AreEqual (-14935012, bmp.GetPixel (24, 8).ToArgb (), "24,8");
1172 Assert.AreEqual (-3407872, bmp.GetPixel (24, 12).ToArgb (), "24,12");
1173 Assert.AreEqual (-3407872, bmp.GetPixel (24, 16).ToArgb (), "24,16");
1174 Assert.AreEqual (-14935012, bmp.GetPixel (24, 20).ToArgb (), "24,20");
1175 Assert.AreEqual (0, bmp.GetPixel (24, 24).ToArgb (), "24,24");
1176 Assert.AreEqual (0, bmp.GetPixel (24, 28).ToArgb (), "24,28");
1177 Assert.AreEqual (-3368602, bmp.GetPixel (24, 32).ToArgb (), "24,32");
1178 Assert.AreEqual (-3368602, bmp.GetPixel (24, 36).ToArgb (), "24,36");
1179 Assert.AreEqual (-3368602, bmp.GetPixel (24, 40).ToArgb (), "24,40");
1180 Assert.AreEqual (-3368602, bmp.GetPixel (24, 44).ToArgb (), "24,44");
1181 Assert.AreEqual (-3368602, bmp.GetPixel (24, 48).ToArgb (), "24,48");
1182 Assert.AreEqual (-3368602, bmp.GetPixel (24, 52).ToArgb (), "24,52");
1183 Assert.AreEqual (-3368602, bmp.GetPixel (24, 56).ToArgb (), "24,56");
1184 Assert.AreEqual (-3368602, bmp.GetPixel (24, 60).ToArgb (), "24,60");
1185 Assert.AreEqual (0, bmp.GetPixel (24, 64).ToArgb (), "24,64");
1186 Assert.AreEqual (-13434829, bmp.GetPixel (24, 68).ToArgb (), "24,68");
1187 Assert.AreEqual (-13434829, bmp.GetPixel (24, 72).ToArgb (), "24,72");
1188 Assert.AreEqual (-13434829, bmp.GetPixel (24, 76).ToArgb (), "24,76");
1189 Assert.AreEqual (-13434829, bmp.GetPixel (24, 80).ToArgb (), "24,80");
1190 Assert.AreEqual (-13434829, bmp.GetPixel (24, 84).ToArgb (), "24,84");
1191 Assert.AreEqual (-13434829, bmp.GetPixel (24, 88).ToArgb (), "24,88");
1192 Assert.AreEqual (-14935012, bmp.GetPixel (24, 92).ToArgb (), "24,92");
1193 Assert.AreEqual (0, bmp.GetPixel (28, 0).ToArgb (), "28,0");
1194 Assert.AreEqual (0, bmp.GetPixel (28, 4).ToArgb (), "28,4");
1195 Assert.AreEqual (-14935012, bmp.GetPixel (28, 8).ToArgb (), "28,8");
1196 Assert.AreEqual (0, bmp.GetPixel (28, 12).ToArgb (), "28,12");
1197 Assert.AreEqual (0, bmp.GetPixel (28, 16).ToArgb (), "28,16");
1198 Assert.AreEqual (-14935012, bmp.GetPixel (28, 20).ToArgb (), "28,20");
1199 Assert.AreEqual (-16777012, bmp.GetPixel (28, 24).ToArgb (), "28,24");
1200 Assert.AreEqual (0, bmp.GetPixel (28, 28).ToArgb (), "28,28");
1201 Assert.AreEqual (-3368602, bmp.GetPixel (28, 32).ToArgb (), "28,32");
1202 Assert.AreEqual (-3368602, bmp.GetPixel (28, 36).ToArgb (), "28,36");
1203 Assert.AreEqual (-3368602, bmp.GetPixel (28, 40).ToArgb (), "28,40");
1204 Assert.AreEqual (-3368602, bmp.GetPixel (28, 44).ToArgb (), "28,44");
1205 Assert.AreEqual (-3368602, bmp.GetPixel (28, 48).ToArgb (), "28,48");
1206 Assert.AreEqual (-3368602, bmp.GetPixel (28, 52).ToArgb (), "28,52");
1207 Assert.AreEqual (-3368602, bmp.GetPixel (28, 56).ToArgb (), "28,56");
1208 Assert.AreEqual (-3368602, bmp.GetPixel (28, 60).ToArgb (), "28,60");
1209 Assert.AreEqual (0, bmp.GetPixel (28, 64).ToArgb (), "28,64");
1210 Assert.AreEqual (-13434829, bmp.GetPixel (28, 68).ToArgb (), "28,68");
1211 Assert.AreEqual (-13434829, bmp.GetPixel (28, 72).ToArgb (), "28,72");
1212 Assert.AreEqual (-13434829, bmp.GetPixel (28, 76).ToArgb (), "28,76");
1213 Assert.AreEqual (-13434829, bmp.GetPixel (28, 80).ToArgb (), "28,80");
1214 Assert.AreEqual (-13434829, bmp.GetPixel (28, 84).ToArgb (), "28,84");
1215 Assert.AreEqual (-13434829, bmp.GetPixel (28, 88).ToArgb (), "28,88");
1216 Assert.AreEqual (-13434829, bmp.GetPixel (28, 92).ToArgb (), "28,92");
1217 Assert.AreEqual (0, bmp.GetPixel (32, 0).ToArgb (), "32,0");
1218 Assert.AreEqual (-10027264, bmp.GetPixel (32, 4).ToArgb (), "32,4");
1219 Assert.AreEqual (-10027264, bmp.GetPixel (32, 8).ToArgb (), "32,8");
1220 Assert.AreEqual (-10027264, bmp.GetPixel (32, 12).ToArgb (), "32,12");
1221 Assert.AreEqual (-14935012, bmp.GetPixel (32, 16).ToArgb (), "32,16");
1222 Assert.AreEqual (-16777012, bmp.GetPixel (32, 20).ToArgb (), "32,20");
1223 Assert.AreEqual (-16777012, bmp.GetPixel (32, 24).ToArgb (), "32,24");
1224 Assert.AreEqual (-16777012, bmp.GetPixel (32, 28).ToArgb (), "32,28");
1225 Assert.AreEqual (0, bmp.GetPixel (32, 32).ToArgb (), "32,32");
1226 Assert.AreEqual (-3368602, bmp.GetPixel (32, 36).ToArgb (), "32,36");
1227 Assert.AreEqual (-3368602, bmp.GetPixel (32, 40).ToArgb (), "32,40");
1228 Assert.AreEqual (-3368602, bmp.GetPixel (32, 44).ToArgb (), "32,44");
1229 Assert.AreEqual (-3368602, bmp.GetPixel (32, 48).ToArgb (), "32,48");
1230 Assert.AreEqual (-3368602, bmp.GetPixel (32, 52).ToArgb (), "32,52");
1231 Assert.AreEqual (-3368602, bmp.GetPixel (32, 56).ToArgb (), "32,56");
1232 Assert.AreEqual (0, bmp.GetPixel (32, 60).ToArgb (), "32,60");
1233 Assert.AreEqual (0, bmp.GetPixel (32, 64).ToArgb (), "32,64");
1234 Assert.AreEqual (-13434829, bmp.GetPixel (32, 68).ToArgb (), "32,68");
1235 Assert.AreEqual (-13434829, bmp.GetPixel (32, 72).ToArgb (), "32,72");
1236 Assert.AreEqual (-13434829, bmp.GetPixel (32, 76).ToArgb (), "32,76");
1237 Assert.AreEqual (-13434829, bmp.GetPixel (32, 80).ToArgb (), "32,80");
1238 Assert.AreEqual (-13434829, bmp.GetPixel (32, 84).ToArgb (), "32,84");
1239 Assert.AreEqual (-13434829, bmp.GetPixel (32, 88).ToArgb (), "32,88");
1240 Assert.AreEqual (-13434829, bmp.GetPixel (32, 92).ToArgb (), "32,92");
1241 Assert.AreEqual (0, bmp.GetPixel (36, 0).ToArgb (), "36,0");
1242 Assert.AreEqual (-10027264, bmp.GetPixel (36, 4).ToArgb (), "36,4");
1243 Assert.AreEqual (-10027264, bmp.GetPixel (36, 8).ToArgb (), "36,8");
1244 Assert.AreEqual (-10027264, bmp.GetPixel (36, 12).ToArgb (), "36,12");
1245 Assert.AreEqual (-10027264, bmp.GetPixel (36, 16).ToArgb (), "36,16");
1246 Assert.AreEqual (-14935012, bmp.GetPixel (36, 20).ToArgb (), "36,20");
1247 Assert.AreEqual (-16777012, bmp.GetPixel (36, 24).ToArgb (), "36,24");
1248 Assert.AreEqual (0, bmp.GetPixel (36, 28).ToArgb (), "36,28");
1249 Assert.AreEqual (0, bmp.GetPixel (36, 32).ToArgb (), "36,32");
1250 Assert.AreEqual (0, bmp.GetPixel (36, 36).ToArgb (), "36,36");
1251 Assert.AreEqual (-3368602, bmp.GetPixel (36, 40).ToArgb (), "36,40");
1252 Assert.AreEqual (-3368602, bmp.GetPixel (36, 44).ToArgb (), "36,44");
1253 Assert.AreEqual (-3368602, bmp.GetPixel (36, 48).ToArgb (), "36,48");
1254 Assert.AreEqual (-3368602, bmp.GetPixel (36, 52).ToArgb (), "36,52");
1255 Assert.AreEqual (0, bmp.GetPixel (36, 56).ToArgb (), "36,56");
1256 Assert.AreEqual (0, bmp.GetPixel (36, 60).ToArgb (), "36,60");
1257 Assert.AreEqual (0, bmp.GetPixel (36, 64).ToArgb (), "36,64");
1258 Assert.AreEqual (-13434829, bmp.GetPixel (36, 68).ToArgb (), "36,68");
1259 Assert.AreEqual (-13434829, bmp.GetPixel (36, 72).ToArgb (), "36,72");
1260 Assert.AreEqual (-13434829, bmp.GetPixel (36, 76).ToArgb (), "36,76");
1261 Assert.AreEqual (-13434829, bmp.GetPixel (36, 80).ToArgb (), "36,80");
1262 Assert.AreEqual (-13434829, bmp.GetPixel (36, 84).ToArgb (), "36,84");
1263 Assert.AreEqual (-13434829, bmp.GetPixel (36, 88).ToArgb (), "36,88");
1264 Assert.AreEqual (-13434829, bmp.GetPixel (36, 92).ToArgb (), "36,92");
1265 Assert.AreEqual (0, bmp.GetPixel (40, 0).ToArgb (), "40,0");
1266 Assert.AreEqual (-10027264, bmp.GetPixel (40, 4).ToArgb (), "40,4");
1267 Assert.AreEqual (-10027264, bmp.GetPixel (40, 8).ToArgb (), "40,8");
1268 Assert.AreEqual (-10027264, bmp.GetPixel (40, 12).ToArgb (), "40,12");
1269 Assert.AreEqual (-14935012, bmp.GetPixel (40, 16).ToArgb (), "40,16");
1270 Assert.AreEqual (0, bmp.GetPixel (40, 20).ToArgb (), "40,20");
1271 Assert.AreEqual (0, bmp.GetPixel (40, 24).ToArgb (), "40,24");
1272 Assert.AreEqual (0, bmp.GetPixel (40, 28).ToArgb (), "40,28");
1273 Assert.AreEqual (-13408717, bmp.GetPixel (40, 32).ToArgb (), "40,32");
1274 Assert.AreEqual (-13408717, bmp.GetPixel (40, 36).ToArgb (), "40,36");
1275 Assert.AreEqual (0, bmp.GetPixel (40, 40).ToArgb (), "40,40");
1276 Assert.AreEqual (0, bmp.GetPixel (40, 44).ToArgb (), "40,44");
1277 Assert.AreEqual (-14935012, bmp.GetPixel (40, 48).ToArgb (), "40,48");
1278 Assert.AreEqual (0, bmp.GetPixel (40, 52).ToArgb (), "40,52");
1279 Assert.AreEqual (0, bmp.GetPixel (40, 56).ToArgb (), "40,56");
1280 Assert.AreEqual (-26317, bmp.GetPixel (40, 60).ToArgb (), "40,60");
1281 Assert.AreEqual (-26317, bmp.GetPixel (40, 64).ToArgb (), "40,64");
1282 Assert.AreEqual (-14935012, bmp.GetPixel (40, 68).ToArgb (), "40,68");
1283 Assert.AreEqual (-13434829, bmp.GetPixel (40, 72).ToArgb (), "40,72");
1284 Assert.AreEqual (-13434829, bmp.GetPixel (40, 76).ToArgb (), "40,76");
1285 Assert.AreEqual (-13434829, bmp.GetPixel (40, 80).ToArgb (), "40,80");
1286 Assert.AreEqual (-13434829, bmp.GetPixel (40, 84).ToArgb (), "40,84");
1287 Assert.AreEqual (-13434829, bmp.GetPixel (40, 88).ToArgb (), "40,88");
1288 Assert.AreEqual (0, bmp.GetPixel (40, 92).ToArgb (), "40,92");
1289 Assert.AreEqual (0, bmp.GetPixel (44, 0).ToArgb (), "44,0");
1290 Assert.AreEqual (0, bmp.GetPixel (44, 4).ToArgb (), "44,4");
1291 Assert.AreEqual (-14935012, bmp.GetPixel (44, 8).ToArgb (), "44,8");
1292 Assert.AreEqual (0, bmp.GetPixel (44, 12).ToArgb (), "44,12");
1293 Assert.AreEqual (0, bmp.GetPixel (44, 16).ToArgb (), "44,16");
1294 Assert.AreEqual (0, bmp.GetPixel (44, 20).ToArgb (), "44,20");
1295 Assert.AreEqual (0, bmp.GetPixel (44, 24).ToArgb (), "44,24");
1296 Assert.AreEqual (0, bmp.GetPixel (44, 28).ToArgb (), "44,28");
1297 Assert.AreEqual (-13408717, bmp.GetPixel (44, 32).ToArgb (), "44,32");
1298 Assert.AreEqual (-13408717, bmp.GetPixel (44, 36).ToArgb (), "44,36");
1299 Assert.AreEqual (0, bmp.GetPixel (44, 40).ToArgb (), "44,40");
1300 Assert.AreEqual (-13312, bmp.GetPixel (44, 44).ToArgb (), "44,44");
1301 Assert.AreEqual (-13312, bmp.GetPixel (44, 48).ToArgb (), "44,48");
1302 Assert.AreEqual (-13312, bmp.GetPixel (44, 52).ToArgb (), "44,52");
1303 Assert.AreEqual (-13312, bmp.GetPixel (44, 56).ToArgb (), "44,56");
1304 Assert.AreEqual (-14935012, bmp.GetPixel (44, 60).ToArgb (), "44,60");
1305 Assert.AreEqual (-14935012, bmp.GetPixel (44, 64).ToArgb (), "44,64");
1306 Assert.AreEqual (0, bmp.GetPixel (44, 68).ToArgb (), "44,68");
1307 Assert.AreEqual (-14935012, bmp.GetPixel (44, 72).ToArgb (), "44,72");
1308 Assert.AreEqual (-13434829, bmp.GetPixel (44, 76).ToArgb (), "44,76");
1309 Assert.AreEqual (-13434829, bmp.GetPixel (44, 80).ToArgb (), "44,80");
1310 Assert.AreEqual (-13434829, bmp.GetPixel (44, 84).ToArgb (), "44,84");
1311 Assert.AreEqual (-14935012, bmp.GetPixel (44, 88).ToArgb (), "44,88");
1312 Assert.AreEqual (0, bmp.GetPixel (44, 92).ToArgb (), "44,92");
1313 Assert.AreEqual (0, bmp.GetPixel (48, 0).ToArgb (), "48,0");
1314 Assert.AreEqual (0, bmp.GetPixel (48, 4).ToArgb (), "48,4");
1315 Assert.AreEqual (0, bmp.GetPixel (48, 8).ToArgb (), "48,8");
1316 Assert.AreEqual (0, bmp.GetPixel (48, 12).ToArgb (), "48,12");
1317 Assert.AreEqual (-52429, bmp.GetPixel (48, 16).ToArgb (), "48,16");
1318 Assert.AreEqual (-52429, bmp.GetPixel (48, 20).ToArgb (), "48,20");
1319 Assert.AreEqual (-52429, bmp.GetPixel (48, 24).ToArgb (), "48,24");
1320 Assert.AreEqual (-52429, bmp.GetPixel (48, 28).ToArgb (), "48,28");
1321 Assert.AreEqual (-14935012, bmp.GetPixel (48, 32).ToArgb (), "48,32");
1322 Assert.AreEqual (0, bmp.GetPixel (48, 36).ToArgb (), "48,36");
1323 Assert.AreEqual (-14935012, bmp.GetPixel (48, 40).ToArgb (), "48,40");
1324 Assert.AreEqual (-13312, bmp.GetPixel (48, 44).ToArgb (), "48,44");
1325 Assert.AreEqual (-13312, bmp.GetPixel (48, 48).ToArgb (), "48,48");
1326 Assert.AreEqual (-13312, bmp.GetPixel (48, 52).ToArgb (), "48,52");
1327 Assert.AreEqual (-13312, bmp.GetPixel (48, 56).ToArgb (), "48,56");
1328 Assert.AreEqual (0, bmp.GetPixel (48, 60).ToArgb (), "48,60");
1329 Assert.AreEqual (1842204, bmp.GetPixel (48, 64).ToArgb (), "48,64");
1330 Assert.AreEqual (-3355546, bmp.GetPixel (48, 68).ToArgb (), "48,68");
1331 Assert.AreEqual (-3355546, bmp.GetPixel (48, 72).ToArgb (), "48,72");
1332 Assert.AreEqual (0, bmp.GetPixel (48, 76).ToArgb (), "48,76");
1333 Assert.AreEqual (0, bmp.GetPixel (48, 80).ToArgb (), "48,80");
1334 Assert.AreEqual (0, bmp.GetPixel (48, 84).ToArgb (), "48,84");
1335 Assert.AreEqual (0, bmp.GetPixel (48, 88).ToArgb (), "48,88");
1336 Assert.AreEqual (0, bmp.GetPixel (48, 92).ToArgb (), "48,92");
1337 Assert.AreEqual (0, bmp.GetPixel (52, 0).ToArgb (), "52,0");
1338 Assert.AreEqual (0, bmp.GetPixel (52, 4).ToArgb (), "52,4");
1339 Assert.AreEqual (-14935012, bmp.GetPixel (52, 8).ToArgb (), "52,8");
1340 Assert.AreEqual (-52429, bmp.GetPixel (52, 12).ToArgb (), "52,12");
1341 Assert.AreEqual (-52429, bmp.GetPixel (52, 16).ToArgb (), "52,16");
1342 Assert.AreEqual (-52429, bmp.GetPixel (52, 20).ToArgb (), "52,20");
1343 Assert.AreEqual (-52429, bmp.GetPixel (52, 24).ToArgb (), "52,24");
1344 Assert.AreEqual (-52429, bmp.GetPixel (52, 28).ToArgb (), "52,28");
1345 Assert.AreEqual (-52429, bmp.GetPixel (52, 32).ToArgb (), "52,32");
1346 Assert.AreEqual (-52429, bmp.GetPixel (52, 36).ToArgb (), "52,36");
1347 Assert.AreEqual (-14935012, bmp.GetPixel (52, 40).ToArgb (), "52,40");
1348 Assert.AreEqual (-13312, bmp.GetPixel (52, 44).ToArgb (), "52,44");
1349 Assert.AreEqual (-13312, bmp.GetPixel (52, 48).ToArgb (), "52,48");
1350 Assert.AreEqual (-13312, bmp.GetPixel (52, 52).ToArgb (), "52,52");
1351 Assert.AreEqual (-13312, bmp.GetPixel (52, 56).ToArgb (), "52,56");
1352 Assert.AreEqual (0, bmp.GetPixel (52, 60).ToArgb (), "52,60");
1353 Assert.AreEqual (-3355546, bmp.GetPixel (52, 64).ToArgb (), "52,64");
1354 Assert.AreEqual (-3355546, bmp.GetPixel (52, 68).ToArgb (), "52,68");
1355 Assert.AreEqual (-3355546, bmp.GetPixel (52, 72).ToArgb (), "52,72");
1356 Assert.AreEqual (-3355546, bmp.GetPixel (52, 76).ToArgb (), "52,76");
1357 Assert.AreEqual (0, bmp.GetPixel (52, 80).ToArgb (), "52,80");
1358 Assert.AreEqual (-6737101, bmp.GetPixel (52, 84).ToArgb (), "52,84");
1359 Assert.AreEqual (-6737101, bmp.GetPixel (52, 88).ToArgb (), "52,88");
1360 Assert.AreEqual (-6737101, bmp.GetPixel (52, 92).ToArgb (), "52,92");
1361 Assert.AreEqual (0, bmp.GetPixel (56, 0).ToArgb (), "56,0");
1362 Assert.AreEqual (0, bmp.GetPixel (56, 4).ToArgb (), "56,4");
1363 Assert.AreEqual (-52429, bmp.GetPixel (56, 8).ToArgb (), "56,8");
1364 Assert.AreEqual (-52429, bmp.GetPixel (56, 12).ToArgb (), "56,12");
1365 Assert.AreEqual (-52429, bmp.GetPixel (56, 16).ToArgb (), "56,16");
1366 Assert.AreEqual (-52429, bmp.GetPixel (56, 20).ToArgb (), "56,20");
1367 Assert.AreEqual (-52429, bmp.GetPixel (56, 24).ToArgb (), "56,24");
1368 Assert.AreEqual (-52429, bmp.GetPixel (56, 28).ToArgb (), "56,28");
1369 Assert.AreEqual (-52429, bmp.GetPixel (56, 32).ToArgb (), "56,32");
1370 Assert.AreEqual (-52429, bmp.GetPixel (56, 36).ToArgb (), "56,36");
1371 Assert.AreEqual (-14935012, bmp.GetPixel (56, 40).ToArgb (), "56,40");
1372 Assert.AreEqual (-13312, bmp.GetPixel (56, 44).ToArgb (), "56,44");
1373 Assert.AreEqual (-13312, bmp.GetPixel (56, 48).ToArgb (), "56,48");
1374 Assert.AreEqual (-13312, bmp.GetPixel (56, 52).ToArgb (), "56,52");
1375 Assert.AreEqual (-13312, bmp.GetPixel (56, 56).ToArgb (), "56,56");
1376 Assert.AreEqual (0, bmp.GetPixel (56, 60).ToArgb (), "56,60");
1377 Assert.AreEqual (-3355546, bmp.GetPixel (56, 64).ToArgb (), "56,64");
1378 Assert.AreEqual (-3355546, bmp.GetPixel (56, 68).ToArgb (), "56,68");
1379 Assert.AreEqual (-3355546, bmp.GetPixel (56, 72).ToArgb (), "56,72");
1380 Assert.AreEqual (-3355546, bmp.GetPixel (56, 76).ToArgb (), "56,76");
1381 Assert.AreEqual (-6737101, bmp.GetPixel (56, 80).ToArgb (), "56,80");
1382 Assert.AreEqual (-6737101, bmp.GetPixel (56, 84).ToArgb (), "56,84");
1383 Assert.AreEqual (-6737101, bmp.GetPixel (56, 88).ToArgb (), "56,88");
1384 Assert.AreEqual (-6737101, bmp.GetPixel (56, 92).ToArgb (), "56,92");
1385 Assert.AreEqual (0, bmp.GetPixel (60, 0).ToArgb (), "60,0");
1386 Assert.AreEqual (-52429, bmp.GetPixel (60, 4).ToArgb (), "60,4");
1387 Assert.AreEqual (-52429, bmp.GetPixel (60, 8).ToArgb (), "60,8");
1388 Assert.AreEqual (-52429, bmp.GetPixel (60, 12).ToArgb (), "60,12");
1389 Assert.AreEqual (-52429, bmp.GetPixel (60, 16).ToArgb (), "60,16");
1390 Assert.AreEqual (-52429, bmp.GetPixel (60, 20).ToArgb (), "60,20");
1391 Assert.AreEqual (-52429, bmp.GetPixel (60, 24).ToArgb (), "60,24");
1392 Assert.AreEqual (-52429, bmp.GetPixel (60, 28).ToArgb (), "60,28");
1393 Assert.AreEqual (-52429, bmp.GetPixel (60, 32).ToArgb (), "60,32");
1394 Assert.AreEqual (-52429, bmp.GetPixel (60, 36).ToArgb (), "60,36");
1395 Assert.AreEqual (-52429, bmp.GetPixel (60, 40).ToArgb (), "60,40");
1396 Assert.AreEqual (0, bmp.GetPixel (60, 44).ToArgb (), "60,44");
1397 Assert.AreEqual (-14935012, bmp.GetPixel (60, 48).ToArgb (), "60,48");
1398 Assert.AreEqual (0, bmp.GetPixel (60, 52).ToArgb (), "60,52");
1399 Assert.AreEqual (0, bmp.GetPixel (60, 56).ToArgb (), "60,56");
1400 Assert.AreEqual (0, bmp.GetPixel (60, 60).ToArgb (), "60,60");
1401 Assert.AreEqual (0, bmp.GetPixel (60, 64).ToArgb (), "60,64");
1402 Assert.AreEqual (-3355546, bmp.GetPixel (60, 68).ToArgb (), "60,68");
1403 Assert.AreEqual (-3355546, bmp.GetPixel (60, 72).ToArgb (), "60,72");
1404 Assert.AreEqual (0, bmp.GetPixel (60, 76).ToArgb (), "60,76");
1405 Assert.AreEqual (-6737101, bmp.GetPixel (60, 80).ToArgb (), "60,80");
1406 Assert.AreEqual (-6737101, bmp.GetPixel (60, 84).ToArgb (), "60,84");
1407 Assert.AreEqual (-6737101, bmp.GetPixel (60, 88).ToArgb (), "60,88");
1408 Assert.AreEqual (-6737101, bmp.GetPixel (60, 92).ToArgb (), "60,92");
1409 Assert.AreEqual (0, bmp.GetPixel (64, 0).ToArgb (), "64,0");
1410 Assert.AreEqual (-52429, bmp.GetPixel (64, 4).ToArgb (), "64,4");
1411 Assert.AreEqual (-52429, bmp.GetPixel (64, 8).ToArgb (), "64,8");
1412 Assert.AreEqual (-52429, bmp.GetPixel (64, 12).ToArgb (), "64,12");
1413 Assert.AreEqual (-52429, bmp.GetPixel (64, 16).ToArgb (), "64,16");
1414 Assert.AreEqual (-52429, bmp.GetPixel (64, 20).ToArgb (), "64,20");
1415 Assert.AreEqual (-52429, bmp.GetPixel (64, 24).ToArgb (), "64,24");
1416 Assert.AreEqual (-52429, bmp.GetPixel (64, 28).ToArgb (), "64,28");
1417 Assert.AreEqual (-52429, bmp.GetPixel (64, 32).ToArgb (), "64,32");
1418 Assert.AreEqual (-52429, bmp.GetPixel (64, 36).ToArgb (), "64,36");
1419 Assert.AreEqual (-52429, bmp.GetPixel (64, 40).ToArgb (), "64,40");
1420 Assert.AreEqual (-14935012, bmp.GetPixel (64, 44).ToArgb (), "64,44");
1421 Assert.AreEqual (0, bmp.GetPixel (64, 48).ToArgb (), "64,48");
1422 Assert.AreEqual (0, bmp.GetPixel (64, 52).ToArgb (), "64,52");
1423 Assert.AreEqual (-6750157, bmp.GetPixel (64, 56).ToArgb (), "64,56");
1424 Assert.AreEqual (-6750157, bmp.GetPixel (64, 60).ToArgb (), "64,60");
1425 Assert.AreEqual (-6750157, bmp.GetPixel (64, 64).ToArgb (), "64,64");
1426 Assert.AreEqual (-14935012, bmp.GetPixel (64, 68).ToArgb (), "64,68");
1427 Assert.AreEqual (0, bmp.GetPixel (64, 72).ToArgb (), "64,72");
1428 Assert.AreEqual (0, bmp.GetPixel (64, 76).ToArgb (), "64,76");
1429 Assert.AreEqual (0, bmp.GetPixel (64, 80).ToArgb (), "64,80");
1430 Assert.AreEqual (-6737101, bmp.GetPixel (64, 84).ToArgb (), "64,84");
1431 Assert.AreEqual (-6737101, bmp.GetPixel (64, 88).ToArgb (), "64,88");
1432 Assert.AreEqual (-14935012, bmp.GetPixel (64, 92).ToArgb (), "64,92");
1433 Assert.AreEqual (-14935012, bmp.GetPixel (68, 0).ToArgb (), "68,0");
1434 Assert.AreEqual (-52429, bmp.GetPixel (68, 4).ToArgb (), "68,4");
1435 Assert.AreEqual (-52429, bmp.GetPixel (68, 8).ToArgb (), "68,8");
1436 Assert.AreEqual (-52429, bmp.GetPixel (68, 12).ToArgb (), "68,12");
1437 Assert.AreEqual (-52429, bmp.GetPixel (68, 16).ToArgb (), "68,16");
1438 Assert.AreEqual (-52429, bmp.GetPixel (68, 20).ToArgb (), "68,20");
1439 Assert.AreEqual (-52429, bmp.GetPixel (68, 24).ToArgb (), "68,24");
1440 Assert.AreEqual (-52429, bmp.GetPixel (68, 28).ToArgb (), "68,28");
1441 Assert.AreEqual (-52429, bmp.GetPixel (68, 32).ToArgb (), "68,32");
1442 Assert.AreEqual (-52429, bmp.GetPixel (68, 36).ToArgb (), "68,36");
1443 Assert.AreEqual (-52429, bmp.GetPixel (68, 40).ToArgb (), "68,40");
1444 Assert.AreEqual (-52429, bmp.GetPixel (68, 44).ToArgb (), "68,44");
1445 Assert.AreEqual (0, bmp.GetPixel (68, 48).ToArgb (), "68,48");
1446 Assert.AreEqual (-6750157, bmp.GetPixel (68, 52).ToArgb (), "68,52");
1447 Assert.AreEqual (-6750157, bmp.GetPixel (68, 56).ToArgb (), "68,56");
1448 Assert.AreEqual (-6750157, bmp.GetPixel (68, 60).ToArgb (), "68,60");
1449 Assert.AreEqual (-6750157, bmp.GetPixel (68, 64).ToArgb (), "68,64");
1450 Assert.AreEqual (-6750157, bmp.GetPixel (68, 68).ToArgb (), "68,68");
1451 Assert.AreEqual (-14935012, bmp.GetPixel (68, 72).ToArgb (), "68,72");
1452 Assert.AreEqual (-16751002, bmp.GetPixel (68, 76).ToArgb (), "68,76");
1453 Assert.AreEqual (-16751002, bmp.GetPixel (68, 80).ToArgb (), "68,80");
1454 Assert.AreEqual (0, bmp.GetPixel (68, 84).ToArgb (), "68,84");
1455 Assert.AreEqual (0, bmp.GetPixel (68, 88).ToArgb (), "68,88");
1456 Assert.AreEqual (-39373, bmp.GetPixel (68, 92).ToArgb (), "68,92");
1457 Assert.AreEqual (-14935012, bmp.GetPixel (72, 0).ToArgb (), "72,0");
1458 Assert.AreEqual (-52429, bmp.GetPixel (72, 4).ToArgb (), "72,4");
1459 Assert.AreEqual (-52429, bmp.GetPixel (72, 8).ToArgb (), "72,8");
1460 Assert.AreEqual (-52429, bmp.GetPixel (72, 12).ToArgb (), "72,12");
1461 Assert.AreEqual (-52429, bmp.GetPixel (72, 16).ToArgb (), "72,16");
1462 Assert.AreEqual (-52429, bmp.GetPixel (72, 20).ToArgb (), "72,20");
1463 Assert.AreEqual (-52429, bmp.GetPixel (72, 24).ToArgb (), "72,24");
1464 Assert.AreEqual (-52429, bmp.GetPixel (72, 28).ToArgb (), "72,28");
1465 Assert.AreEqual (-52429, bmp.GetPixel (72, 32).ToArgb (), "72,32");
1466 Assert.AreEqual (-52429, bmp.GetPixel (72, 36).ToArgb (), "72,36");
1467 Assert.AreEqual (-52429, bmp.GetPixel (72, 40).ToArgb (), "72,40");
1468 Assert.AreEqual (-52429, bmp.GetPixel (72, 44).ToArgb (), "72,44");
1469 Assert.AreEqual (-14935012, bmp.GetPixel (72, 48).ToArgb (), "72,48");
1470 Assert.AreEqual (-6750157, bmp.GetPixel (72, 52).ToArgb (), "72,52");
1471 Assert.AreEqual (-6750157, bmp.GetPixel (72, 56).ToArgb (), "72,56");
1472 Assert.AreEqual (-6750157, bmp.GetPixel (72, 60).ToArgb (), "72,60");
1473 Assert.AreEqual (-6750157, bmp.GetPixel (72, 64).ToArgb (), "72,64");
1474 Assert.AreEqual (-6750157, bmp.GetPixel (72, 68).ToArgb (), "72,68");
1475 Assert.AreEqual (-6750157, bmp.GetPixel (72, 72).ToArgb (), "72,72");
1476 Assert.AreEqual (0, bmp.GetPixel (72, 76).ToArgb (), "72,76");
1477 Assert.AreEqual (0, bmp.GetPixel (72, 80).ToArgb (), "72,80");
1478 Assert.AreEqual (0, bmp.GetPixel (72, 84).ToArgb (), "72,84");
1479 Assert.AreEqual (0, bmp.GetPixel (72, 88).ToArgb (), "72,88");
1480 Assert.AreEqual (-39373, bmp.GetPixel (72, 92).ToArgb (), "72,92");
1481 Assert.AreEqual (0, bmp.GetPixel (76, 0).ToArgb (), "76,0");
1482 Assert.AreEqual (-52429, bmp.GetPixel (76, 4).ToArgb (), "76,4");
1483 Assert.AreEqual (-52429, bmp.GetPixel (76, 8).ToArgb (), "76,8");
1484 Assert.AreEqual (-52429, bmp.GetPixel (76, 12).ToArgb (), "76,12");
1485 Assert.AreEqual (-52429, bmp.GetPixel (76, 16).ToArgb (), "76,16");
1486 Assert.AreEqual (-52429, bmp.GetPixel (76, 20).ToArgb (), "76,20");
1487 Assert.AreEqual (-52429, bmp.GetPixel (76, 24).ToArgb (), "76,24");
1488 Assert.AreEqual (-52429, bmp.GetPixel (76, 28).ToArgb (), "76,28");
1489 Assert.AreEqual (-52429, bmp.GetPixel (76, 32).ToArgb (), "76,32");
1490 Assert.AreEqual (-52429, bmp.GetPixel (76, 36).ToArgb (), "76,36");
1491 Assert.AreEqual (-52429, bmp.GetPixel (76, 40).ToArgb (), "76,40");
1492 Assert.AreEqual (-14935012, bmp.GetPixel (76, 44).ToArgb (), "76,44");
1493 Assert.AreEqual (-6750157, bmp.GetPixel (76, 48).ToArgb (), "76,48");
1494 Assert.AreEqual (-6750157, bmp.GetPixel (76, 52).ToArgb (), "76,52");
1495 Assert.AreEqual (-6750157, bmp.GetPixel (76, 56).ToArgb (), "76,56");
1496 Assert.AreEqual (-6750157, bmp.GetPixel (76, 60).ToArgb (), "76,60");
1497 Assert.AreEqual (-6750157, bmp.GetPixel (76, 64).ToArgb (), "76,64");
1498 Assert.AreEqual (-6750157, bmp.GetPixel (76, 68).ToArgb (), "76,68");
1499 Assert.AreEqual (-6750157, bmp.GetPixel (76, 72).ToArgb (), "76,72");
1500 Assert.AreEqual (-14935012, bmp.GetPixel (76, 76).ToArgb (), "76,76");
1501 Assert.AreEqual (0, bmp.GetPixel (76, 80).ToArgb (), "76,80");
1502 Assert.AreEqual (-65383, bmp.GetPixel (76, 84).ToArgb (), "76,84");
1503 Assert.AreEqual (-65383, bmp.GetPixel (76, 88).ToArgb (), "76,88");
1504 Assert.AreEqual (-14935012, bmp.GetPixel (76, 92).ToArgb (), "76,92");
1505 Assert.AreEqual (0, bmp.GetPixel (80, 0).ToArgb (), "80,0");
1506 Assert.AreEqual (-52429, bmp.GetPixel (80, 4).ToArgb (), "80,4");
1507 Assert.AreEqual (-52429, bmp.GetPixel (80, 8).ToArgb (), "80,8");
1508 Assert.AreEqual (-52429, bmp.GetPixel (80, 12).ToArgb (), "80,12");
1509 Assert.AreEqual (-52429, bmp.GetPixel (80, 16).ToArgb (), "80,16");
1510 Assert.AreEqual (-52429, bmp.GetPixel (80, 20).ToArgb (), "80,20");
1511 Assert.AreEqual (-52429, bmp.GetPixel (80, 24).ToArgb (), "80,24");
1512 Assert.AreEqual (-52429, bmp.GetPixel (80, 28).ToArgb (), "80,28");
1513 Assert.AreEqual (-52429, bmp.GetPixel (80, 32).ToArgb (), "80,32");
1514 Assert.AreEqual (-52429, bmp.GetPixel (80, 36).ToArgb (), "80,36");
1515 Assert.AreEqual (-52429, bmp.GetPixel (80, 40).ToArgb (), "80,40");
1516 Assert.AreEqual (0, bmp.GetPixel (80, 44).ToArgb (), "80,44");
1517 Assert.AreEqual (-6750157, bmp.GetPixel (80, 48).ToArgb (), "80,48");
1518 Assert.AreEqual (-6750157, bmp.GetPixel (80, 52).ToArgb (), "80,52");
1519 Assert.AreEqual (-6750157, bmp.GetPixel (80, 56).ToArgb (), "80,56");
1520 Assert.AreEqual (-6750157, bmp.GetPixel (80, 60).ToArgb (), "80,60");
1521 Assert.AreEqual (-6750157, bmp.GetPixel (80, 64).ToArgb (), "80,64");
1522 Assert.AreEqual (-6750157, bmp.GetPixel (80, 68).ToArgb (), "80,68");
1523 Assert.AreEqual (-6750157, bmp.GetPixel (80, 72).ToArgb (), "80,72");
1524 Assert.AreEqual (-14935012, bmp.GetPixel (80, 76).ToArgb (), "80,76");
1525 Assert.AreEqual (-65383, bmp.GetPixel (80, 80).ToArgb (), "80,80");
1526 Assert.AreEqual (-65383, bmp.GetPixel (80, 84).ToArgb (), "80,84");
1527 Assert.AreEqual (-65383, bmp.GetPixel (80, 88).ToArgb (), "80,88");
1528 Assert.AreEqual (-65383, bmp.GetPixel (80, 92).ToArgb (), "80,92");
1529 Assert.AreEqual (0, bmp.GetPixel (84, 0).ToArgb (), "84,0");
1530 Assert.AreEqual (0, bmp.GetPixel (84, 4).ToArgb (), "84,4");
1531 Assert.AreEqual (-52429, bmp.GetPixel (84, 8).ToArgb (), "84,8");
1532 Assert.AreEqual (-52429, bmp.GetPixel (84, 12).ToArgb (), "84,12");
1533 Assert.AreEqual (-52429, bmp.GetPixel (84, 16).ToArgb (), "84,16");
1534 Assert.AreEqual (-52429, bmp.GetPixel (84, 20).ToArgb (), "84,20");
1535 Assert.AreEqual (-52429, bmp.GetPixel (84, 24).ToArgb (), "84,24");
1536 Assert.AreEqual (-52429, bmp.GetPixel (84, 28).ToArgb (), "84,28");
1537 Assert.AreEqual (-52429, bmp.GetPixel (84, 32).ToArgb (), "84,32");
1538 Assert.AreEqual (-52429, bmp.GetPixel (84, 36).ToArgb (), "84,36");
1539 Assert.AreEqual (-14935012, bmp.GetPixel (84, 40).ToArgb (), "84,40");
1540 Assert.AreEqual (0, bmp.GetPixel (84, 44).ToArgb (), "84,44");
1541 Assert.AreEqual (-14935012, bmp.GetPixel (84, 48).ToArgb (), "84,48");
1542 Assert.AreEqual (-6750157, bmp.GetPixel (84, 52).ToArgb (), "84,52");
1543 Assert.AreEqual (-6750157, bmp.GetPixel (84, 56).ToArgb (), "84,56");
1544 Assert.AreEqual (-6750157, bmp.GetPixel (84, 60).ToArgb (), "84,60");
1545 Assert.AreEqual (-6750157, bmp.GetPixel (84, 64).ToArgb (), "84,64");
1546 Assert.AreEqual (-6750157, bmp.GetPixel (84, 68).ToArgb (), "84,68");
1547 Assert.AreEqual (-6750157, bmp.GetPixel (84, 72).ToArgb (), "84,72");
1548 Assert.AreEqual (0, bmp.GetPixel (84, 76).ToArgb (), "84,76");
1549 Assert.AreEqual (-65383, bmp.GetPixel (84, 80).ToArgb (), "84,80");
1550 Assert.AreEqual (-65383, bmp.GetPixel (84, 84).ToArgb (), "84,84");
1551 Assert.AreEqual (-65383, bmp.GetPixel (84, 88).ToArgb (), "84,88");
1552 Assert.AreEqual (-65383, bmp.GetPixel (84, 92).ToArgb (), "84,92");
1553 Assert.AreEqual (0, bmp.GetPixel (88, 0).ToArgb (), "88,0");
1554 Assert.AreEqual (-3342490, bmp.GetPixel (88, 4).ToArgb (), "88,4");
1555 Assert.AreEqual (-14935012, bmp.GetPixel (88, 8).ToArgb (), "88,8");
1556 Assert.AreEqual (-52429, bmp.GetPixel (88, 12).ToArgb (), "88,12");
1557 Assert.AreEqual (-52429, bmp.GetPixel (88, 16).ToArgb (), "88,16");
1558 Assert.AreEqual (-52429, bmp.GetPixel (88, 20).ToArgb (), "88,20");
1559 Assert.AreEqual (-52429, bmp.GetPixel (88, 24).ToArgb (), "88,24");
1560 Assert.AreEqual (-52429, bmp.GetPixel (88, 28).ToArgb (), "88,28");
1561 Assert.AreEqual (-52429, bmp.GetPixel (88, 32).ToArgb (), "88,32");
1562 Assert.AreEqual (-52429, bmp.GetPixel (88, 36).ToArgb (), "88,36");
1563 Assert.AreEqual (0, bmp.GetPixel (88, 40).ToArgb (), "88,40");
1564 Assert.AreEqual (-16777063, bmp.GetPixel (88, 44).ToArgb (), "88,44");
1565 Assert.AreEqual (0, bmp.GetPixel (88, 48).ToArgb (), "88,48");
1566 Assert.AreEqual (-6750157, bmp.GetPixel (88, 52).ToArgb (), "88,52");
1567 Assert.AreEqual (-6750157, bmp.GetPixel (88, 56).ToArgb (), "88,56");
1568 Assert.AreEqual (-6750157, bmp.GetPixel (88, 60).ToArgb (), "88,60");
1569 Assert.AreEqual (-6750157, bmp.GetPixel (88, 64).ToArgb (), "88,64");
1570 Assert.AreEqual (-6750157, bmp.GetPixel (88, 68).ToArgb (), "88,68");
1571 Assert.AreEqual (-6750157, bmp.GetPixel (88, 72).ToArgb (), "88,72");
1572 Assert.AreEqual (0, bmp.GetPixel (88, 76).ToArgb (), "88,76");
1573 Assert.AreEqual (-65383, bmp.GetPixel (88, 80).ToArgb (), "88,80");
1574 Assert.AreEqual (-65383, bmp.GetPixel (88, 84).ToArgb (), "88,84");
1575 Assert.AreEqual (-65383, bmp.GetPixel (88, 88).ToArgb (), "88,88");
1576 Assert.AreEqual (-65383, bmp.GetPixel (88, 92).ToArgb (), "88,92");
1577 Assert.AreEqual (-14935012, bmp.GetPixel (92, 0).ToArgb (), "92,0");
1578 Assert.AreEqual (-3342490, bmp.GetPixel (92, 4).ToArgb (), "92,4");
1579 Assert.AreEqual (-14935012, bmp.GetPixel (92, 8).ToArgb (), "92,8");
1580 Assert.AreEqual (0, bmp.GetPixel (92, 12).ToArgb (), "92,12");
1581 Assert.AreEqual (-52429, bmp.GetPixel (92, 16).ToArgb (), "92,16");
1582 Assert.AreEqual (-52429, bmp.GetPixel (92, 20).ToArgb (), "92,20");
1583 Assert.AreEqual (-52429, bmp.GetPixel (92, 24).ToArgb (), "92,24");
1584 Assert.AreEqual (-52429, bmp.GetPixel (92, 28).ToArgb (), "92,28");
1585 Assert.AreEqual (-14935012, bmp.GetPixel (92, 32).ToArgb (), "92,32");
1586 Assert.AreEqual (0, bmp.GetPixel (92, 36).ToArgb (), "92,36");
1587 Assert.AreEqual (0, bmp.GetPixel (92, 40).ToArgb (), "92,40");
1588 Assert.AreEqual (0, bmp.GetPixel (92, 44).ToArgb (), "92,44");
1589 Assert.AreEqual (0, bmp.GetPixel (92, 48).ToArgb (), "92,48");
1590 Assert.AreEqual (0, bmp.GetPixel (92, 52).ToArgb (), "92,52");
1591 Assert.AreEqual (-6750157, bmp.GetPixel (92, 56).ToArgb (), "92,56");
1592 Assert.AreEqual (-6750157, bmp.GetPixel (92, 60).ToArgb (), "92,60");
1593 Assert.AreEqual (-6750157, bmp.GetPixel (92, 64).ToArgb (), "92,64");
1594 Assert.AreEqual (-6750157, bmp.GetPixel (92, 68).ToArgb (), "92,68");
1595 Assert.AreEqual (0, bmp.GetPixel (92, 72).ToArgb (), "92,72");
1596 Assert.AreEqual (0, bmp.GetPixel (92, 76).ToArgb (), "92,76");
1597 Assert.AreEqual (-65383, bmp.GetPixel (92, 80).ToArgb (), "92,80");
1598 Assert.AreEqual (-65383, bmp.GetPixel (92, 84).ToArgb (), "92,84");
1599 Assert.AreEqual (-65383, bmp.GetPixel (92, 88).ToArgb (), "92,88");
1600 Assert.AreEqual (-65383, bmp.GetPixel (92, 92).ToArgb (), "92,92");
1606 public void Bitmap96Data ()
1608 string sInFile = getInFile ("bitmaps/96x96x256.ico");
1609 using (Bitmap bmp = new Bitmap (sInFile)) {
1610 BitmapData data = bmp.LockBits (new Rectangle (0, 0, bmp.Width, bmp.Height), ImageLockMode.ReadOnly, PixelFormat.Format24bppRgb);
1612 Assert.AreEqual (bmp.Height, data.Height, "Height");
1613 Assert.AreEqual (bmp.Width, data.Width, "Width");
1614 Assert.AreEqual (PixelFormat.Format24bppRgb, data.PixelFormat, "PixelFormat");
1615 int size = data.Height * data.Stride;
1617 byte* scan = (byte*) data.Scan0;
1619 // 97 is prime (so we're not affected by a recurring pattern)
1620 for (int p = 0; p < size; p += 97) {
1621 Console.WriteLine ("\t\t\t\t\t\tAssert.AreEqual ({0}, *(scan + {1}), \"{1}\");", *(scan + p), p);
1624 // sampling values from a well known bitmap
1625 Assert.AreEqual (0, *(scan + 0), "0");
1626 Assert.AreEqual (0, *(scan + 97), "97");
1627 Assert.AreEqual (0, *(scan + 194), "194");
1628 Assert.AreEqual (0, *(scan + 291), "291");
1629 Assert.AreEqual (0, *(scan + 388), "388");
1630 Assert.AreEqual (28, *(scan + 485), "485");
1631 Assert.AreEqual (0, *(scan + 582), "582");
1632 Assert.AreEqual (28, *(scan + 679), "679");
1633 Assert.AreEqual (255, *(scan + 776), "776");
1634 Assert.AreEqual (0, *(scan + 873), "873");
1635 Assert.AreEqual (255, *(scan + 970), "970");
1636 Assert.AreEqual (255, *(scan + 1067), "1067");
1637 Assert.AreEqual (0, *(scan + 1164), "1164");
1638 Assert.AreEqual (255, *(scan + 1261), "1261");
1639 Assert.AreEqual (255, *(scan + 1358), "1358");
1640 Assert.AreEqual (0, *(scan + 1455), "1455");
1641 Assert.AreEqual (255, *(scan + 1552), "1552");
1642 Assert.AreEqual (255, *(scan + 1649), "1649");
1643 Assert.AreEqual (0, *(scan + 1746), "1746");
1644 Assert.AreEqual (255, *(scan + 1843), "1843");
1645 Assert.AreEqual (255, *(scan + 1940), "1940");
1646 Assert.AreEqual (0, *(scan + 2037), "2037");
1647 Assert.AreEqual (255, *(scan + 2134), "2134");
1648 Assert.AreEqual (255, *(scan + 2231), "2231");
1649 Assert.AreEqual (0, *(scan + 2328), "2328");
1650 Assert.AreEqual (255, *(scan + 2425), "2425");
1651 Assert.AreEqual (255, *(scan + 2522), "2522");
1652 Assert.AreEqual (0, *(scan + 2619), "2619");
1653 Assert.AreEqual (255, *(scan + 2716), "2716");
1654 Assert.AreEqual (255, *(scan + 2813), "2813");
1655 Assert.AreEqual (0, *(scan + 2910), "2910");
1656 Assert.AreEqual (255, *(scan + 3007), "3007");
1657 Assert.AreEqual (255, *(scan + 3104), "3104");
1658 Assert.AreEqual (0, *(scan + 3201), "3201");
1659 Assert.AreEqual (255, *(scan + 3298), "3298");
1660 Assert.AreEqual (255, *(scan + 3395), "3395");
1661 Assert.AreEqual (0, *(scan + 3492), "3492");
1662 Assert.AreEqual (0, *(scan + 3589), "3589");
1663 Assert.AreEqual (255, *(scan + 3686), "3686");
1664 Assert.AreEqual (0, *(scan + 3783), "3783");
1665 Assert.AreEqual (0, *(scan + 3880), "3880");
1666 Assert.AreEqual (255, *(scan + 3977), "3977");
1667 Assert.AreEqual (0, *(scan + 4074), "4074");
1668 Assert.AreEqual (0, *(scan + 4171), "4171");
1669 Assert.AreEqual (255, *(scan + 4268), "4268");
1670 Assert.AreEqual (0, *(scan + 4365), "4365");
1671 Assert.AreEqual (28, *(scan + 4462), "4462");
1672 Assert.AreEqual (255, *(scan + 4559), "4559");
1673 Assert.AreEqual (0, *(scan + 4656), "4656");
1674 Assert.AreEqual (51, *(scan + 4753), "4753");
1675 Assert.AreEqual (255, *(scan + 4850), "4850");
1676 Assert.AreEqual (0, *(scan + 4947), "4947");
1677 Assert.AreEqual (51, *(scan + 5044), "5044");
1678 Assert.AreEqual (255, *(scan + 5141), "5141");
1679 Assert.AreEqual (0, *(scan + 5238), "5238");
1680 Assert.AreEqual (51, *(scan + 5335), "5335");
1681 Assert.AreEqual (255, *(scan + 5432), "5432");
1682 Assert.AreEqual (0, *(scan + 5529), "5529");
1683 Assert.AreEqual (51, *(scan + 5626), "5626");
1684 Assert.AreEqual (255, *(scan + 5723), "5723");
1685 Assert.AreEqual (0, *(scan + 5820), "5820");
1686 Assert.AreEqual (51, *(scan + 5917), "5917");
1687 Assert.AreEqual (255, *(scan + 6014), "6014");
1688 Assert.AreEqual (0, *(scan + 6111), "6111");
1689 Assert.AreEqual (51, *(scan + 6208), "6208");
1690 Assert.AreEqual (255, *(scan + 6305), "6305");
1691 Assert.AreEqual (0, *(scan + 6402), "6402");
1692 Assert.AreEqual (51, *(scan + 6499), "6499");
1693 Assert.AreEqual (255, *(scan + 6596), "6596");
1694 Assert.AreEqual (0, *(scan + 6693), "6693");
1695 Assert.AreEqual (51, *(scan + 6790), "6790");
1696 Assert.AreEqual (255, *(scan + 6887), "6887");
1697 Assert.AreEqual (0, *(scan + 6984), "6984");
1698 Assert.AreEqual (51, *(scan + 7081), "7081");
1699 Assert.AreEqual (255, *(scan + 7178), "7178");
1700 Assert.AreEqual (0, *(scan + 7275), "7275");
1701 Assert.AreEqual (51, *(scan + 7372), "7372");
1702 Assert.AreEqual (255, *(scan + 7469), "7469");
1703 Assert.AreEqual (0, *(scan + 7566), "7566");
1704 Assert.AreEqual (51, *(scan + 7663), "7663");
1705 Assert.AreEqual (255, *(scan + 7760), "7760");
1706 Assert.AreEqual (0, *(scan + 7857), "7857");
1707 Assert.AreEqual (51, *(scan + 7954), "7954");
1708 Assert.AreEqual (255, *(scan + 8051), "8051");
1709 Assert.AreEqual (0, *(scan + 8148), "8148");
1710 Assert.AreEqual (51, *(scan + 8245), "8245");
1711 Assert.AreEqual (255, *(scan + 8342), "8342");
1712 Assert.AreEqual (0, *(scan + 8439), "8439");
1713 Assert.AreEqual (51, *(scan + 8536), "8536");
1714 Assert.AreEqual (28, *(scan + 8633), "8633");
1715 Assert.AreEqual (0, *(scan + 8730), "8730");
1716 Assert.AreEqual (51, *(scan + 8827), "8827");
1717 Assert.AreEqual (0, *(scan + 8924), "8924");
1718 Assert.AreEqual (0, *(scan + 9021), "9021");
1719 Assert.AreEqual (51, *(scan + 9118), "9118");
1720 Assert.AreEqual (0, *(scan + 9215), "9215");
1721 Assert.AreEqual (0, *(scan + 9312), "9312");
1722 Assert.AreEqual (51, *(scan + 9409), "9409");
1723 Assert.AreEqual (0, *(scan + 9506), "9506");
1724 Assert.AreEqual (0, *(scan + 9603), "9603");
1725 Assert.AreEqual (51, *(scan + 9700), "9700");
1726 Assert.AreEqual (0, *(scan + 9797), "9797");
1727 Assert.AreEqual (28, *(scan + 9894), "9894");
1728 Assert.AreEqual (51, *(scan + 9991), "9991");
1729 Assert.AreEqual (0, *(scan + 10088), "10088");
1730 Assert.AreEqual (0, *(scan + 10185), "10185");
1731 Assert.AreEqual (51, *(scan + 10282), "10282");
1732 Assert.AreEqual (0, *(scan + 10379), "10379");
1733 Assert.AreEqual (0, *(scan + 10476), "10476");
1734 Assert.AreEqual (51, *(scan + 10573), "10573");
1735 Assert.AreEqual (0, *(scan + 10670), "10670");
1736 Assert.AreEqual (0, *(scan + 10767), "10767");
1737 Assert.AreEqual (51, *(scan + 10864), "10864");
1738 Assert.AreEqual (204, *(scan + 10961), "10961");
1739 Assert.AreEqual (0, *(scan + 11058), "11058");
1740 Assert.AreEqual (51, *(scan + 11155), "11155");
1741 Assert.AreEqual (204, *(scan + 11252), "11252");
1742 Assert.AreEqual (0, *(scan + 11349), "11349");
1743 Assert.AreEqual (51, *(scan + 11446), "11446");
1744 Assert.AreEqual (204, *(scan + 11543), "11543");
1745 Assert.AreEqual (0, *(scan + 11640), "11640");
1746 Assert.AreEqual (51, *(scan + 11737), "11737");
1747 Assert.AreEqual (204, *(scan + 11834), "11834");
1748 Assert.AreEqual (0, *(scan + 11931), "11931");
1749 Assert.AreEqual (51, *(scan + 12028), "12028");
1750 Assert.AreEqual (204, *(scan + 12125), "12125");
1751 Assert.AreEqual (0, *(scan + 12222), "12222");
1752 Assert.AreEqual (51, *(scan + 12319), "12319");
1753 Assert.AreEqual (204, *(scan + 12416), "12416");
1754 Assert.AreEqual (28, *(scan + 12513), "12513");
1755 Assert.AreEqual (51, *(scan + 12610), "12610");
1756 Assert.AreEqual (204, *(scan + 12707), "12707");
1757 Assert.AreEqual (0, *(scan + 12804), "12804");
1758 Assert.AreEqual (28, *(scan + 12901), "12901");
1759 Assert.AreEqual (204, *(scan + 12998), "12998");
1760 Assert.AreEqual (0, *(scan + 13095), "13095");
1761 Assert.AreEqual (0, *(scan + 13192), "13192");
1762 Assert.AreEqual (204, *(scan + 13289), "13289");
1763 Assert.AreEqual (0, *(scan + 13386), "13386");
1764 Assert.AreEqual (0, *(scan + 13483), "13483");
1765 Assert.AreEqual (204, *(scan + 13580), "13580");
1766 Assert.AreEqual (0, *(scan + 13677), "13677");
1767 Assert.AreEqual (28, *(scan + 13774), "13774");
1768 Assert.AreEqual (204, *(scan + 13871), "13871");
1769 Assert.AreEqual (0, *(scan + 13968), "13968");
1770 Assert.AreEqual (0, *(scan + 14065), "14065");
1771 Assert.AreEqual (204, *(scan + 14162), "14162");
1772 Assert.AreEqual (0, *(scan + 14259), "14259");
1773 Assert.AreEqual (0, *(scan + 14356), "14356");
1774 Assert.AreEqual (204, *(scan + 14453), "14453");
1775 Assert.AreEqual (0, *(scan + 14550), "14550");
1776 Assert.AreEqual (0, *(scan + 14647), "14647");
1777 Assert.AreEqual (204, *(scan + 14744), "14744");
1778 Assert.AreEqual (0, *(scan + 14841), "14841");
1779 Assert.AreEqual (0, *(scan + 14938), "14938");
1780 Assert.AreEqual (204, *(scan + 15035), "15035");
1781 Assert.AreEqual (0, *(scan + 15132), "15132");
1782 Assert.AreEqual (0, *(scan + 15229), "15229");
1783 Assert.AreEqual (204, *(scan + 15326), "15326");
1784 Assert.AreEqual (0, *(scan + 15423), "15423");
1785 Assert.AreEqual (0, *(scan + 15520), "15520");
1786 Assert.AreEqual (204, *(scan + 15617), "15617");
1787 Assert.AreEqual (0, *(scan + 15714), "15714");
1788 Assert.AreEqual (0, *(scan + 15811), "15811");
1789 Assert.AreEqual (204, *(scan + 15908), "15908");
1790 Assert.AreEqual (0, *(scan + 16005), "16005");
1791 Assert.AreEqual (0, *(scan + 16102), "16102");
1792 Assert.AreEqual (204, *(scan + 16199), "16199");
1793 Assert.AreEqual (0, *(scan + 16296), "16296");
1794 Assert.AreEqual (0, *(scan + 16393), "16393");
1795 Assert.AreEqual (204, *(scan + 16490), "16490");
1796 Assert.AreEqual (0, *(scan + 16587), "16587");
1797 Assert.AreEqual (0, *(scan + 16684), "16684");
1798 Assert.AreEqual (204, *(scan + 16781), "16781");
1799 Assert.AreEqual (0, *(scan + 16878), "16878");
1800 Assert.AreEqual (0, *(scan + 16975), "16975");
1801 Assert.AreEqual (204, *(scan + 17072), "17072");
1802 Assert.AreEqual (0, *(scan + 17169), "17169");
1803 Assert.AreEqual (0, *(scan + 17266), "17266");
1804 Assert.AreEqual (204, *(scan + 17363), "17363");
1805 Assert.AreEqual (0, *(scan + 17460), "17460");
1806 Assert.AreEqual (0, *(scan + 17557), "17557");
1807 Assert.AreEqual (28, *(scan + 17654), "17654");
1808 Assert.AreEqual (0, *(scan + 17751), "17751");
1809 Assert.AreEqual (0, *(scan + 17848), "17848");
1810 Assert.AreEqual (0, *(scan + 17945), "17945");
1811 Assert.AreEqual (28, *(scan + 18042), "18042");
1812 Assert.AreEqual (0, *(scan + 18139), "18139");
1813 Assert.AreEqual (0, *(scan + 18236), "18236");
1814 Assert.AreEqual (51, *(scan + 18333), "18333");
1815 Assert.AreEqual (28, *(scan + 18430), "18430");
1816 Assert.AreEqual (0, *(scan + 18527), "18527");
1817 Assert.AreEqual (51, *(scan + 18624), "18624");
1818 Assert.AreEqual (0, *(scan + 18721), "18721");
1819 Assert.AreEqual (28, *(scan + 18818), "18818");
1820 Assert.AreEqual (51, *(scan + 18915), "18915");
1821 Assert.AreEqual (255, *(scan + 19012), "19012");
1822 Assert.AreEqual (51, *(scan + 19109), "19109");
1823 Assert.AreEqual (51, *(scan + 19206), "19206");
1824 Assert.AreEqual (255, *(scan + 19303), "19303");
1825 Assert.AreEqual (51, *(scan + 19400), "19400");
1826 Assert.AreEqual (51, *(scan + 19497), "19497");
1827 Assert.AreEqual (255, *(scan + 19594), "19594");
1828 Assert.AreEqual (51, *(scan + 19691), "19691");
1829 Assert.AreEqual (51, *(scan + 19788), "19788");
1830 Assert.AreEqual (255, *(scan + 19885), "19885");
1831 Assert.AreEqual (51, *(scan + 19982), "19982");
1832 Assert.AreEqual (51, *(scan + 20079), "20079");
1833 Assert.AreEqual (255, *(scan + 20176), "20176");
1834 Assert.AreEqual (51, *(scan + 20273), "20273");
1835 Assert.AreEqual (51, *(scan + 20370), "20370");
1836 Assert.AreEqual (255, *(scan + 20467), "20467");
1837 Assert.AreEqual (51, *(scan + 20564), "20564");
1838 Assert.AreEqual (51, *(scan + 20661), "20661");
1839 Assert.AreEqual (255, *(scan + 20758), "20758");
1840 Assert.AreEqual (51, *(scan + 20855), "20855");
1841 Assert.AreEqual (51, *(scan + 20952), "20952");
1842 Assert.AreEqual (255, *(scan + 21049), "21049");
1843 Assert.AreEqual (51, *(scan + 21146), "21146");
1844 Assert.AreEqual (51, *(scan + 21243), "21243");
1845 Assert.AreEqual (28, *(scan + 21340), "21340");
1846 Assert.AreEqual (51, *(scan + 21437), "21437");
1847 Assert.AreEqual (51, *(scan + 21534), "21534");
1848 Assert.AreEqual (0, *(scan + 21631), "21631");
1849 Assert.AreEqual (51, *(scan + 21728), "21728");
1850 Assert.AreEqual (28, *(scan + 21825), "21825");
1851 Assert.AreEqual (0, *(scan + 21922), "21922");
1852 Assert.AreEqual (51, *(scan + 22019), "22019");
1853 Assert.AreEqual (28, *(scan + 22116), "22116");
1854 Assert.AreEqual (0, *(scan + 22213), "22213");
1855 Assert.AreEqual (51, *(scan + 22310), "22310");
1856 Assert.AreEqual (0, *(scan + 22407), "22407");
1857 Assert.AreEqual (0, *(scan + 22504), "22504");
1858 Assert.AreEqual (51, *(scan + 22601), "22601");
1859 Assert.AreEqual (0, *(scan + 22698), "22698");
1860 Assert.AreEqual (0, *(scan + 22795), "22795");
1861 Assert.AreEqual (51, *(scan + 22892), "22892");
1862 Assert.AreEqual (28, *(scan + 22989), "22989");
1863 Assert.AreEqual (0, *(scan + 23086), "23086");
1864 Assert.AreEqual (28, *(scan + 23183), "23183");
1865 Assert.AreEqual (153, *(scan + 23280), "23280");
1866 Assert.AreEqual (28, *(scan + 23377), "23377");
1867 Assert.AreEqual (0, *(scan + 23474), "23474");
1868 Assert.AreEqual (153, *(scan + 23571), "23571");
1869 Assert.AreEqual (28, *(scan + 23668), "23668");
1870 Assert.AreEqual (0, *(scan + 23765), "23765");
1871 Assert.AreEqual (153, *(scan + 23862), "23862");
1872 Assert.AreEqual (0, *(scan + 23959), "23959");
1873 Assert.AreEqual (28, *(scan + 24056), "24056");
1874 Assert.AreEqual (153, *(scan + 24153), "24153");
1875 Assert.AreEqual (0, *(scan + 24250), "24250");
1876 Assert.AreEqual (153, *(scan + 24347), "24347");
1877 Assert.AreEqual (153, *(scan + 24444), "24444");
1878 Assert.AreEqual (0, *(scan + 24541), "24541");
1879 Assert.AreEqual (153, *(scan + 24638), "24638");
1880 Assert.AreEqual (153, *(scan + 24735), "24735");
1881 Assert.AreEqual (0, *(scan + 24832), "24832");
1882 Assert.AreEqual (153, *(scan + 24929), "24929");
1883 Assert.AreEqual (153, *(scan + 25026), "25026");
1884 Assert.AreEqual (0, *(scan + 25123), "25123");
1885 Assert.AreEqual (153, *(scan + 25220), "25220");
1886 Assert.AreEqual (153, *(scan + 25317), "25317");
1887 Assert.AreEqual (0, *(scan + 25414), "25414");
1888 Assert.AreEqual (153, *(scan + 25511), "25511");
1889 Assert.AreEqual (153, *(scan + 25608), "25608");
1890 Assert.AreEqual (0, *(scan + 25705), "25705");
1891 Assert.AreEqual (153, *(scan + 25802), "25802");
1892 Assert.AreEqual (153, *(scan + 25899), "25899");
1893 Assert.AreEqual (0, *(scan + 25996), "25996");
1894 Assert.AreEqual (153, *(scan + 26093), "26093");
1895 Assert.AreEqual (153, *(scan + 26190), "26190");
1896 Assert.AreEqual (0, *(scan + 26287), "26287");
1897 Assert.AreEqual (153, *(scan + 26384), "26384");
1898 Assert.AreEqual (153, *(scan + 26481), "26481");
1899 Assert.AreEqual (0, *(scan + 26578), "26578");
1900 Assert.AreEqual (153, *(scan + 26675), "26675");
1901 Assert.AreEqual (153, *(scan + 26772), "26772");
1902 Assert.AreEqual (28, *(scan + 26869), "26869");
1903 Assert.AreEqual (153, *(scan + 26966), "26966");
1904 Assert.AreEqual (28, *(scan + 27063), "27063");
1905 Assert.AreEqual (28, *(scan + 27160), "27160");
1906 Assert.AreEqual (28, *(scan + 27257), "27257");
1907 Assert.AreEqual (0, *(scan + 27354), "27354");
1908 Assert.AreEqual (0, *(scan + 27451), "27451");
1909 Assert.AreEqual (0, *(scan + 27548), "27548");
1910 Assert.AreEqual (0, *(scan + 27645), "27645");
1915 bmp.UnlockBits (data);
1921 public void Xp32bppIconFeatures ()
1923 string sInFile = getInFile ("bitmaps/32bpp.ico");
1924 using (Bitmap bmp = new Bitmap (sInFile)) {
1925 GraphicsUnit unit = GraphicsUnit.World;
1926 RectangleF rect = bmp.GetBounds (ref unit);
1928 Assert.IsTrue (bmp.RawFormat.Equals (ImageFormat.Icon), "Icon");
1929 // note that image is "promoted" to 32bits
1930 Assert.AreEqual (PixelFormat.Format32bppArgb, bmp.PixelFormat);
1931 Assert.AreEqual (73746, bmp.Flags, "bmp.Flags");
1932 Assert.AreEqual (0, bmp.Palette.Entries.Length, "Palette");
1933 Assert.AreEqual (1, bmp.FrameDimensionsList.Length, "FrameDimensionsList");
1934 Assert.AreEqual (0, bmp.PropertyIdList.Length, "PropertyIdList");
1935 Assert.AreEqual (0, bmp.PropertyItems.Length, "PropertyItems");
1936 Assert.IsNull (bmp.Tag, "Tag");
1937 Assert.AreEqual (96.0f, bmp.HorizontalResolution, "HorizontalResolution");
1938 Assert.AreEqual (96.0f, bmp.VerticalResolution, "VerticalResolution");
1939 Assert.AreEqual (16, bmp.Width, "bmp.Width");
1940 Assert.AreEqual (16, bmp.Height, "bmp.Height");
1942 Assert.AreEqual (0, rect.X, "rect.X");
1943 Assert.AreEqual (0, rect.Y, "rect.Y");
1944 Assert.AreEqual (16, rect.Width, "rect.Width");
1945 Assert.AreEqual (16, rect.Height, "rect.Height");
1947 Assert.AreEqual (16, bmp.Size.Width, "bmp.Size.Width");
1948 Assert.AreEqual (16, bmp.Size.Height, "bmp.Size.Height");
1952 private void Save (PixelFormat original, PixelFormat expected, bool colorCheck)
1954 string sOutFile = "linerect" + getOutSufix () + ".ico";
1957 Bitmap bmp = new Bitmap (100, 100, original);
1958 Graphics gr = Graphics.FromImage (bmp);
1960 using (Pen p = new Pen (Color.Red, 2)) {
1961 gr.DrawLine (p, 10.0F, 10.0F, 90.0F, 90.0F);
1962 gr.DrawRectangle (p, 10.0F, 10.0F, 80.0F, 80.0F);
1966 // there's no encoder, so we're not saving a ICO but the alpha
1967 // bit get sets so it's not like saving a bitmap either
1968 bmp.Save (sOutFile, ImageFormat.Icon);
1971 using (Bitmap bmpLoad = new Bitmap (sOutFile)) {
1972 Assert.AreEqual (ImageFormat.Png, bmpLoad.RawFormat, "Png");
1973 Assert.AreEqual (expected, bmpLoad.PixelFormat, "PixelFormat");
1975 Color color = bmpLoad.GetPixel (10, 10);
1976 Assert.AreEqual (Color.FromArgb (255, 255, 0, 0), color, "Red");
1984 File.Delete (sOutFile);
1992 public void Save_24bppRgb ()
1994 Save (PixelFormat.Format24bppRgb, PixelFormat.Format24bppRgb, true);
1998 public void Save_32bppRgb ()
2000 Save (PixelFormat.Format32bppRgb, PixelFormat.Format32bppArgb, true);
2004 public void Save_32bppArgb ()
2006 Save (PixelFormat.Format32bppArgb, PixelFormat.Format32bppArgb, true);
2010 public void Save_32bppPArgb ()
2012 Save (PixelFormat.Format32bppPArgb, PixelFormat.Format32bppArgb, true);
2016 [Category ("NotWorking")]
2017 public void Save_48bppRgb ()
2019 Save (PixelFormat.Format48bppRgb, PixelFormat.Format48bppRgb, false);
2023 [Category ("NotWorking")]
2024 public void Save_64bppArgb ()
2026 Save (PixelFormat.Format64bppArgb, PixelFormat.Format64bppArgb, false);
2030 [Category ("NotWorking")]
2031 public void Save_64bppPArgb ()
2033 Save (PixelFormat.Format64bppPArgb, PixelFormat.Format64bppArgb, false);