コード例 #1
0
ファイル: DocNETBuilder.cs プロジェクト: usercode/ImageWizard
        public DocNETBuilder(IImageWizardBuilder builder)
        {
            Builder = builder;

            WithFilter <PageToImageFilter>();
            WithFilter <SubPagesFilter>();
        }
コード例 #2
0
ファイル: Extensions.cs プロジェクト: usercode/ImageWizard
        public static IImageWizardBuilder AddAnalytics(this IImageWizardBuilder builder)
        {
            builder.Services.AddSingleton <IAnalyticsData, AnalyticsData>();
            builder.Services.AddTransient <IImageWizardInterceptor, ImageRequestAnalytics>();

            return(builder);
        }
コード例 #3
0
        public static IImageWizardBuilder AddGravatarLoader(this IImageWizardBuilder wizardConfiguration, Action <GravatarOptions> options)
        {
            wizardConfiguration.Services.Configure(options);
            wizardConfiguration.Services.AddHttpClient2 <GravatarLoader>();
            wizardConfiguration.ImageLoaderManager.Register <GravatarLoader>("gravatar");

            return(wizardConfiguration);
        }
コード例 #4
0
        public static IImageWizardBuilder AddFileLoader(this IImageWizardBuilder wizardConfiguration, Action <FileLoaderOptions> setup)
        {
            wizardConfiguration.Services.Configure(setup);
            wizardConfiguration.Services.AddSingleton <FileLoader>();
            wizardConfiguration.ImageLoaderManager.Register <FileLoader>("file");

            return(wizardConfiguration);
        }
コード例 #5
0
        public static IImageWizardBuilder AddYoutubeLoader(this IImageWizardBuilder wizardConfiguration, Action <YouTubeOptions> options)
        {
            wizardConfiguration.Services.Configure(options);
            wizardConfiguration.Services.AddHttpClient2 <YouTubeLoader>();
            wizardConfiguration.ImageLoaderManager.Register <YouTubeLoader>("youtube");

            return(wizardConfiguration);
        }
コード例 #6
0
        public static IImageWizardBuilder SetDistributedCache(this IImageWizardBuilder wizardBuilder)
        {
            wizardBuilder.Services.AddDistributedMemoryCache();

            wizardBuilder.Services.RemoveAll <IImageCache>();
            wizardBuilder.Services.AddTransient <IImageCache, DistributedCache>();

            return(wizardBuilder);
        }
コード例 #7
0
        public static IImageWizardBuilder AddAzureBlob(this IImageWizardBuilder wizardConfiguration, Action <AzureBlobOptions> setup)
        {
            wizardConfiguration.Services.Configure(setup);

            wizardConfiguration.Services.AddSingleton <AzureBlobLoader>();
            wizardConfiguration.ImageLoaderManager.Register <AzureBlobLoader>("azure");

            return(wizardConfiguration);
        }
コード例 #8
0
        public static IImageWizardBuilder SetFileCache(this IImageWizardBuilder wizardBuilder, Action <FileCacheSettings> fileCacheSettingsSetup)
        {
            wizardBuilder.Services.Configure(fileCacheSettingsSetup);

            wizardBuilder.Services.RemoveAll <IImageCache>();
            wizardBuilder.Services.AddSingleton <IImageCache, FileCache>();

            return(wizardBuilder);
        }
コード例 #9
0
        public static IImageWizardBuilder SetMongoDBCache(this IImageWizardBuilder wizardConfiguration, Action <MongoDBCacheOptions> cacheSettingsSetup)
        {
            wizardConfiguration.Services.Configure(cacheSettingsSetup);

            wizardConfiguration.Services.RemoveAll <IImageCache>();
            wizardConfiguration.Services.AddSingleton <IImageCache, MongoDBCache>();

            return(wizardConfiguration);
        }
コード例 #10
0
        public static IImageWizardBuilder AddHttpLoader(this IImageWizardBuilder wizardConfiguration, Action <HttpLoaderOptions> setup)
        {
            wizardConfiguration.Services.AddHttpContextAccessor();

            wizardConfiguration.Services.Configure(setup);

            wizardConfiguration.Services.AddHttpClient2 <HttpLoader>();
            wizardConfiguration.ImageLoaderManager.Register <HttpLoader>("fetch");

            return(wizardConfiguration);
        }
コード例 #11
0
        public SvgNetBuilder(IImageWizardBuilder builder)
        {
            Builder = builder;

            WithFilter <RemoveSizeFilter>();
            WithFilter <RotateFilter>();
            WithFilter <BlurFilter>();
            WithFilter <GrayscaleFilter>();
            WithFilter <InvertFilter>();
            WithFilter <SaturateFilter>();
            WithFilter <ImageFormatFilter>();
        }
コード例 #12
0
        public SkiaSharpBuilder(IImageWizardBuilder builder)
        {
            Builder = builder;

            WithFilter <ResizeFilter>();
            WithFilter <RotateFilter>();
            WithFilter <CropFilter>();
            WithFilter <GrayscaleFilter>();
            WithFilter <BlurFilter>();
            WithFilter <FlipFilter>();
            WithFilter <DPRFilter>();
            WithFilter <ImageFormatFilter>();
        }
コード例 #13
0
ファイル: Startup.cs プロジェクト: usercode/ImageWizard
        public void ConfigureServices(IServiceCollection services)
        {
            services.Configure <ImageWizardOptions>(Configuration.GetSection("General"));
            services.Configure <HttpLoaderOptions>(Configuration.GetSection("HttpLoader"));
            services.Configure <FileCacheSettings>(Configuration.GetSection("FileCache"));
            services.Configure <FileLoaderOptions>(Configuration.GetSection("FileLoader"));
            services.Configure <MongoDBCacheOptions>(Configuration.GetSection("MongoDBCache"));

            services.AddControllersWithViews();
            services.AddRazorPages();

            string cache = Configuration.GetSection("General")["Cache"];

            IImageWizardBuilder imageWizard = services.AddImageWizard()
                                              .AddImageSharp()
                                              .AddSvgNet()
                                              .AddDocNET()
                                              .AddHttpLoader()
                                              .AddFileLoader()
                                              .AddYoutubeLoader()
                                              .AddGravatarLoader()
                                              .AddAnalytics();

            switch (cache)
            {
            case "InMemory":
                imageWizard.SetDistributedCache();
                break;

            case "File":
                imageWizard.SetFileCache();
                break;

            case "MongoDB":
                imageWizard.SetMongoDBCache();
                break;

            default:
                throw new Exception("unknown cache type selected");
            }

            services.Configure <ForwardedHeadersOptions>(options =>
            {
                options.ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto | ForwardedHeaders.XForwardedHost;
            });
        }
コード例 #14
0
ファイル: Startup.cs プロジェクト: haiduong87/ImageWizard
        public void ConfigureServices(IServiceCollection services)
        {
            services.Configure <ImageWizardOptions>(Configuration.GetSection("General"));
            services.Configure <HttpLoaderOptions>(Configuration.GetSection("HttpLoader"));
            services.Configure <FileCacheSettings>(Configuration.GetSection("FileCache"));
            services.Configure <FileLoaderOptions>(Configuration.GetSection("FileLoader"));
            services.Configure <MongoDBCacheOptions>(Configuration.GetSection("MongoDBCache"));

            services.AddControllersWithViews();
            services.AddRazorPages();

            string cache = Configuration.GetSection("General")["Cache"];

            IImageWizardBuilder imageWizard = services.AddImageWizard()
                                              .AddImageSharp()
                                              .AddSvgNet()
                                              .AddHttpLoader()
                                              .AddFileLoader()
                                              .AddYoutubeLoader()
                                              .AddGravatarLoader()
                                              .AddImageSharp()
                                              .AddAnalytics();

            switch (cache)
            {
            case "InMemory":
                imageWizard.SetDistributedCache();
                break;

            case "File":
                imageWizard.SetFileCache();
                break;

            case "MongoDB":
                imageWizard.SetMongoDBCache();
                break;

            default:
                throw new Exception("unknown cache type selected");
            }

            services.AddHttpsRedirection(x => { x.RedirectStatusCode = StatusCodes.Status301MovedPermanently; x.HttpsPort = 443; });
        }
コード例 #15
0
        public ImageSharpBuilder(IImageWizardBuilder builder)
        {
            Builder = builder;

            WithFilter <ResizeFilter>();
            WithFilter <BackgroundColorFilter>();
            WithFilter <CropFilter>();
            WithFilter <GrayscaleFilter>();
            WithFilter <BlackWhiteFilter>();
            WithFilter <TrimFilter>();
            WithFilter <FlipFilter>();
            WithFilter <RotateFilter>();
            WithFilter <BlurFilter>();
            WithFilter <InvertFilter>();
            WithFilter <BrightnessFilter>();
            WithFilter <ContrastFilter>();
            WithFilter <DPRFilter>();
            WithFilter <NoImageCacheFilter>();
            WithFilter <AutoOrientFilter>();
            WithFilter <ImageFormatFilter>();
            WithFilter <TextFilter>();
        }
コード例 #16
0
        public static IDocNETBuilder AddDocNET(this IImageWizardBuilder builder, params string[] mimeTypes)
        {
            builder.AddPipeline <DocNETPipeline>(mimeTypes);

            return(new DocNETBuilder(builder));
        }
コード例 #17
0
 public static IImageWizardBuilder AddYoutubeLoader(this IImageWizardBuilder wizardConfiguration)
 {
     return(AddYoutubeLoader(wizardConfiguration, x => { }));
 }
コード例 #18
0
 public static ISkiaSharpBuilder AddSkiaSharp(this IImageWizardBuilder builder)
 {
     return(AddSkiaSharp(builder, MimeTypes.WebP, MimeTypes.Jpeg, MimeTypes.Png, MimeTypes.Gif, MimeTypes.Bmp));
 }
コード例 #19
0
 public static IImageWizardBuilder SetMongoDBCache(this IImageWizardBuilder wizardConfiguration)
 {
     return(SetMongoDBCache(wizardConfiguration, options => { }));
 }
コード例 #20
0
        public static ISkiaSharpBuilder AddSkiaSharp(this IImageWizardBuilder builder, params string[] mimeTypes)
        {
            builder.AddPipeline <SkiaSharpPipeline>(mimeTypes);

            return(new SkiaSharpBuilder(builder));
        }
コード例 #21
0
 public static IImageWizardBuilder AddFileLoader(this IImageWizardBuilder wizardConfiguration)
 {
     return(AddFileLoader(wizardConfiguration, setup => { }));
 }
コード例 #22
0
        public static IImageWizardBuilder AddFFMpegCore(this IImageWizardBuilder builder, params string[] mimeTypes)
        {
            builder.AddPipeline <FFMpegCorePipeline>(mimeTypes);

            return(builder);
        }
コード例 #23
0
 public static IImageWizardBuilder AddFFMpegCore(this IImageWizardBuilder builder)
 {
     return(AddFFMpegCore(builder, MimeTypes.Mpeg, MimeTypes.Mp4, MimeTypes.Mobile3GP, MimeTypes.Avi));
 }
コード例 #24
0
        public static IImageWizardBuilder AddSvgNet(this IImageWizardBuilder builder)
        {
            builder.AddPipeline <SvgPipeline>(new[] { MimeTypes.Svg });

            return(new SvgNetBuilder(builder));
        }
コード例 #25
0
 public static IImageWizardBuilder AddAzureBlob(this IImageWizardBuilder wizardConfiguration)
 {
     return(AddAzureBlob(wizardConfiguration, x => { }));
 }
コード例 #26
0
 public static IImageWizardBuilder SetFileCache(this IImageWizardBuilder wizardBuilder)
 {
     return(SetFileCache(wizardBuilder, options => { }));
 }
コード例 #27
0
 public static IImageWizardBuilder AddHttpLoader(this IImageWizardBuilder wizardConfiguration)
 {
     return(AddHttpLoader(wizardConfiguration, options => { }));
 }
コード例 #28
0
 public static IImageWizardBuilder AddDocNET(this IImageWizardBuilder builder)
 {
     return(AddDocNET(builder, MimeTypes.Pdf));
 }