public DeepZoomRipper(DeepZoomRipperOptions options, HttpClientInitializationOptions httpClientInitializationOptions, string outputFile)
        {
            _options = options = options ?? DeepZoomRipperOptions.Default;

            if (httpClientInitializationOptions == HttpClientInitializationOptions.InitializeWithCookieContainer)
            {
                _cookieContainer = new CookieContainer();
                HttpClientHandler handler = new HttpClientHandler
                {
                    CookieContainer = _cookieContainer
                };
                _http = new HttpClient(handler)
                {
                    Timeout = Timeout.InfiniteTimeSpan
                };
            }
            else if (httpClientInitializationOptions == HttpClientInitializationOptions.InitializeWithoutCookieContainer)
            {
                _http = new HttpClient()
                {
                    Timeout = Timeout.InfiniteTimeSpan
                };
            }

            _outputFile = outputFile;

            _configuration = Configuration.Default.Clone();
            _configuration.MaxDegreeOfParallelism = 1;

            var builder = new TiffImageEncoderBuilder();

            builder.PhotometricInterpretation = TiffPhotometricInterpretation.YCbCr;
            builder.IsTiled  = true;
            builder.TileSize = new TiffSize(OutputTileSize, OutputTileSize);
            builder.HorizontalChromaSubSampling = 2;
            builder.VerticalChromaSubSampling   = 2;
            builder.Compression = TiffCompression.Jpeg;
            builder.JpegOptions = new TiffJpegEncodingOptions {
                OptimizeCoding = true
            };

            _encoder = builder.BuildForImageSharp <Rgb24>();
        }
Esempio n. 2
0
 public DefaultDeepZoomRipper(DeepZoomRipperOptions options, string outputFile) : base(options, HttpClientInitializationOptions.InitializeWithCookieContainer, outputFile)
 {
 }