private static Image CreateBackdrop(IndexViewModel model) { var backdrop = new Backdrop(Image.FromStream(model.InputImage.InputStream), model.ToBackdropSettings()); if (model.AddDominantColorsOverlay) { AddDominantColorsOverlay(backdrop); } return backdrop.Image; }
private static void CreateBackdrop(ProgramOptions programOptions) { var imagePath = programOptions.InputFile; var backdrop = new Backdrop(Image.FromFile(imagePath, false), programOptions.ToBackdropSettings()); if (programOptions.AddDominantColorsOverlay) { AddDominantColorsOverlay(backdrop); } backdrop.Image.Save(programOptions.DefinitiveOutputFile, programOptions.OutputImageFormat.ToImageFormat()); }
private static void AddDominantColorsOverlay(Backdrop backdrop) { var boxWidth = (int)((float)backdrop.Image.Width / backdrop.DominantColors.Count()); var boxHeight = (int)(boxWidth * 0.2); var boxSize = new Size(boxWidth, boxHeight); for (var i = 0; i < backdrop.DominantColors.Count; ++i) { using (var coloredBoxGraphics = Graphics.FromImage(backdrop.Image)) using (var solidBrush = new SolidBrush(backdrop.DominantColors[i])) { coloredBoxGraphics.FillRectangle(solidBrush, new Rectangle(new Point(i * boxWidth, backdrop.Image.Height - boxHeight), boxSize)); } } }