Exemplo n.º 1
0
        public void ReplaceColor()
        {
            var bmp = new Bitmap(2, 2);

            bmp.SetPixel(0, 0, Color.FromArgb(255, 100, 50));
            bmp.SetPixel(0, 1, Color.FromArgb(255, 1, 1));
            bmp.SetPixel(1, 0, Color.FromArgb(255, 100, 50));
            bmp.SetPixel(1, 1, Color.FromArgb(255, 2, 2));

            var res = IconsConverter.ReplaceColor(bmp,
                                                  new IconsConverter.ColorReplacerDelegate((ref byte r, ref byte g, ref byte b, ref byte a) =>
            {
                if (r == 255 && g == 100 && b == 50)
                {
                    r = 10;
                    g = 20;
                    b = 30;
                }
            })) as Bitmap;

            Assert.AreNotEqual(bmp, res);
            Assert.AreEqual(Color.FromArgb(10, 20, 30), res.GetPixel(0, 0));
            Assert.AreEqual(Color.FromArgb(255, 1, 1), res.GetPixel(0, 1));
            Assert.AreEqual(Color.FromArgb(10, 20, 30), res.GetPixel(1, 0));
            Assert.AreEqual(Color.FromArgb(255, 2, 2), res.GetPixel(1, 1));
        }
Exemplo n.º 2
0
 private static Image CreateMask(Image icon)
 {
     return(IconsConverter.ReplaceColor(icon,
                                        new IconsConverter.ColorReplacerDelegate((ref byte r, ref byte g, ref byte b, ref byte a) =>
     {
         var mask = (byte)(255 - a);
         r = mask;
         g = mask;
         b = mask;
         a = 255;
     })));
 }