Пример #1
0
    private static DrawingExtensionBuilder AddDrawers(this DrawingExtensionBuilder builder)
    {
        builder.TryAddOrReplaceService <ISavingDrawer, InternalSavingDrawer>();
        builder.TryAddOrReplaceService <IScalingDrawer, InternalScaleDrawer>();
        builder.TryAddOrReplaceService <IWatermarkDrawer, InternalWatermarkDrawer>();

        return(builder);
    }
        static DrawingExtensionBuilderHelper()
        {
            if (_builder is null)
            {
                var services = new ServiceCollection();
                _builder = services.AddLibrameCore().AddDrawing();
            }

            if (_services is null)
            {
                _services = _builder.Services.BuildServiceProvider();
            }
        }
Пример #3
0
    /// <summary>
    /// 注册 Librame 图画扩展构建器。
    /// </summary>
    /// <param name="parentBuilder">给定的 <see cref="IExtensionBuilder"/>。</param>
    /// <param name="setupOptions">给定可用于设置 <see cref="DrawingExtensionOptions"/> 选项的动作(可选;为空则不设置)。</param>
    /// <param name="configuration">给定可用于 <see cref="DrawingExtensionOptions"/> 选项的配置对象(可选;为空则不配置)。</param>
    /// <returns>返回 <see cref="DrawingExtensionOptions"/>。</returns>
    public static DrawingExtensionBuilder AddDrawing(this IExtensionBuilder parentBuilder,
                                                     Action <DrawingExtensionOptions>?setupOptions = null, IConfiguration?configuration = null)
    {
        // 配置扩展选项
        parentBuilder.ConfigureExtensionOptions(setupOptions, configuration);

        var builder = new DrawingExtensionBuilder(parentBuilder);

        builder
        .AddDrawers()
        .AddVerification();

        return(builder);
    }
Пример #4
0
    private static DrawingExtensionBuilder AddVerification(this DrawingExtensionBuilder builder)
    {
        builder.TryAddOrReplaceService <ICaptchaGenerator, InternalCaptchaGenerator>();

        return(builder);
    }