Exemple #1
0
        private void MakeCollage(int userId, int albumId, int width, int rows, string collagesDirectoryPath)
        {
            int height = rows * MAX_HEIGHT;

            string collagePath = _pathUtil.BuildAbsoluteCollagePath(userId, albumId);

            using (Image image = new Bitmap(width, height))
            {
                using (Graphics graphics = Graphics.FromImage(image))
                {
                    SetUpGraphics(graphics);

                    IEnumerable <string> thumbnailsPaths = _pathUtil.BuildAbsoluteThumbnailsPaths(userId, albumId,
                                                                                                  ImageSize.Small);

                    TileImages(graphics, thumbnailsPaths, width, height);

                    Directory.CreateDirectory(collagesDirectoryPath);

                    image.Save(collagePath, ImageFormat.Jpeg);
                }
            }
        }