Пример #1
0
 private Image GetSourceWithCorrectSize(Image sourceImage, Domain.Model.ImageProperty property)
 {
     if (sourceImage.Width > property.Width || sourceImage.Height > property.Height)
     {
         var newSize = ResizeKeepAspect(new Size(sourceImage.Width, sourceImage.Height), property.Width, property.Height);
         return(ResizeImage((Image)sourceImage.Clone(), newSize.Width, newSize.Height));
     }
     else
     {
         return((Image)sourceImage.Clone());
     }
 }
Пример #2
0
        private void GenerateImage(Image sourceImage, Color backgroundColor, Domain.Model.ImageProperty property, string outputFolder)
        {
            using (var source = this.GetSourceWithCorrectSize(sourceImage, property))
                using (var dest = new Bitmap(property.Width, property.Height))
                    using (var graphics = Graphics.FromImage(dest))
                    {
                        var sourceCenter = new Point(source.Width / 2, source.Height / 2);
                        var center       = new Point(dest.Width / 2, dest.Height / 2);

                        graphics.Clear(backgroundColor);

                        var drawCenter = new Point(center.X - sourceCenter.X, center.Y - sourceCenter.Y);
                        graphics.DrawImage(source, drawCenter);

                        graphics.Save();
                        dest.Save(Path.Combine(outputFolder, property.Name));
                    }
        }