private Image PrepareBevel(Image image, Point[] points, int filterValue) { Bitmap bmp = new Bitmap(image.Width, image.Height); Graphics g = Graphics.FromImage(bmp); GraphicsPath gp = new GraphicsPath(); gp.AddPolygon(points); g.Clear(Color.Transparent); g.SetClip(gp); g.DrawImage(image, new Rectangle(0, 0, image.Width, image.Height)); g.Dispose(); ColorMatrix cm; switch (Config.BevelFilterType) { default: case FilterType.Brightness: cm = ColorMatrices.BrightnessFilter(filterValue); break; case FilterType.Contrast: cm = ColorMatrices.ContrastFilter(filterValue); break; case FilterType.Saturation: cm = ColorMatrices.SaturationFilter(filterValue); break; } bmp = ColorMatrices.ApplyColorMatrix(bmp, cm); Graphics g2 = Graphics.FromImage(image); g2.DrawImage(bmp, new Rectangle(0, 0, image.Width, image.Height)); g2.Dispose(); return(image); }
public static Bitmap GetRandomLogo(Bitmap logo) { Bitmap bmp = new Bitmap(logo); if (mLogoRandomList.Count == 0) { List <int> numbers = Enumerable.Range(1, 7).ToList(); int count = numbers.Count; for (int x = 0; x < count; x++) { int r = ZAppHelper.Random.Next(0, numbers.Count - 1); mLogoRandomList.Add(numbers[r]); numbers.RemoveAt(r); } } switch (mLogoRandomList[0]) { case 1: logo = ColorMatrices.ApplyColorMatrix(bmp, ColorMatrices.InverseFilter()); break; case 2: logo = ColorMatrices.ApplyColorMatrix(bmp, ColorMatrices.GrayscaleFilter()); break; case 3: logo = ColorMatrices.ApplyColorMatrix(bmp, ColorMatrices.GrayscaleFilter()); logo = ColorMatrices.ApplyColorMatrix(bmp, ColorMatrices.InverseFilter()); break; case 4: logo = ColorMatrices.ApplyColorMatrix(bmp, ColorMatrices.InverseFilter()); logo = ColorMatrices.ApplyColorMatrix(bmp, ColorMatrices.SaturationFilter(ZAppHelper.Random.Next(100, 300))); break; case 5: logo = ColorMatrices.ApplyColorMatrix(bmp, ColorMatrices.InverseFilter()); logo = ColorMatrices.ApplyColorMatrix(bmp, ColorMatrices.SaturationFilter(ZAppHelper.Random.Next(-300, -100))); break; case 6: logo = ColorMatrices.ApplyColorMatrix(bmp, ColorMatrices.SaturationFilter(ZAppHelper.Random.Next(150, 300))); break; case 7: logo = ColorMatrices.ApplyColorMatrix(bmp, ColorMatrices.SaturationFilter(ZAppHelper.Random.Next(-300, -150))); break; } mLogoRandomList.RemoveAt(0); return(logo); }