internal static void CreateCollectionTiles( Tag tag, string outputPath, List <int> postIds, ImageFormat imageFormat, string fileNameIdFormat, string absoluteOutputPath ) { var extension = imageFormat.ToString().ToLower(); var relativePathToCollectionFolder = Tag.ComputeBinnedPath(tag.Name, null) + "_files"; var absolutePathToCollectionFolder = Path.Combine(outputPath, relativePathToCollectionFolder); for (var level = 0; level < DeepZoomCollection.CollectionTilePower; level++) { var levelName = Convert.ToString(level, 10); var absolutePathToCollectionLevelFolder = Path.Combine(absolutePathToCollectionFolder, levelName); Directory.CreateDirectory(absolutePathToCollectionLevelFolder); var levelSize = (int)Math.Pow(2, level); var imageCollectionTiles = DeepZoomCollection.GenerateCollectionTiles(postIds, levelSize); foreach (var imageCollectionTile in imageCollectionTiles) { var relativePathToTile = Path.ChangeExtension(imageCollectionTile.TileName, extension); var absolutePathToTile = Path.Combine(absolutePathToCollectionLevelFolder, relativePathToTile); var levelImages = OpenLevelImages(imageCollectionTile.Ids, extension, fileNameIdFormat, absoluteOutputPath, level); using (var bitmap = DeepZoomCollection.CreateCollectionTile(levelImages, levelSize)) { bitmap.Save(absolutePathToTile, imageFormat); } } } }
internal void AssembleCollections(TagRepository tagRepository, PostRepository postRepository) { var dzc = new DeepZoomCollection(_settings); var tags = tagRepository.RetrieveTags(); foreach (var tag in tags) { var postIds = new List <int> (postRepository.RetrievePostIds(tag.Id)); dzc.PivotizeTag(tag, postIds); dzc.CreateCollectionManifest(tag, postIds); dzc.CreateCollectionTiles(tag, postIds); } }
internal void AssembleCollections (TagRepository tagRepository, PostRepository postRepository) { var dzc = new DeepZoomCollection (_settings); var tags = tagRepository.RetrieveTags (); foreach (var tag in tags) { var postIds = new List<int> (postRepository.RetrievePostIds (tag.Id)); dzc.PivotizeTag (tag, postIds); dzc.CreateCollectionManifest (tag, postIds); dzc.CreateCollectionTiles (tag, postIds); } }