コード例 #1
0
        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);
                    }
                }
            }
        }
コード例 #2
0
        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);
            }
        }
コード例 #3
0
        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);
            }
        }