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