프로젝트

일반

사용자정보

통계
| 브랜치(Branch): | 개정판:

markus / ConvertService / ConverterService / ImageFields / DZTCommon.cs @ dfc86b71

이력 | 보기 | 이력해설 | 다운로드 (1.65 KB)

1
using System;
2
using System.Collections.Generic;
3
using System.Linq;
4
using System.Text;
5
using System.Xml.Linq;
6

    
7
namespace ImageFields
8
{
9
    internal class DZTCommon
10
    {
11
        // Fields
12
        private static XNamespace deepZoomNamespace2008 = "http://schemas.microsoft.com/deepzoom/2008";
13
        private static XNamespace deepZoomNamespace2009 = "http://schemas.microsoft.com/deepzoom/2009";
14
        public const string TileFolder = "_files";
15

    
16
        // Methods
17
        internal static void MortonToXY(uint morton, out uint x, out uint y)
18
        {
19
            x = y = 0;
20
            for (int i = 0; i < 0x10L; i++)
21
            {
22
                x = (uint)(x | ((morton & 1) << (i & 0x1f)));
23
                y = (uint)(y | (((morton & 2) >> 1) << (i & 0x1f)));
24
                morton = morton >> 2;
25
            }
26
        }
27

    
28
        public static bool VerifyDZNamespace(XNamespace nspace)
29
        {
30
            bool flag = false;
31
            if ((nspace == deepZoomNamespace2009) || (nspace == deepZoomNamespace2008))
32
            {
33
                flag = true;
34
            }
35
            return flag;
36
        }
37

    
38
        internal static uint XYToMorton(uint x, uint y)
39
        {
40
            uint num = 0;
41
            for (int i = 0; i < 0x10L; i++)
42
            {
43
                num |= (uint)((x & 1) << ((i * 2) & 0x1f));
44
                num |= (uint)((y & 1) << (((i * 2) + 1) & 0x1f));
45
                x = x >> 1;
46
                y = y >> 1;
47
            }
48
            return num;
49
        }
50

    
51
        // Properties
52
        public static XNamespace DeepZoomNamespace
53
        {
54
            get
55
            {
56
                return deepZoomNamespace2009;
57
            }
58
        }
59
    }
60

    
61

    
62
}
클립보드 이미지 추가 (최대 크기: 500 MB)