Esempio n. 1
0
 /// <summary>
 /// 构造函数注入
 /// </summary>
 /// <param name="mongodbHostOptions">MongodbHost信息</param>
 /// <param name="pictureOptions">图片选项</param>
 public PictureController(IOptions <MongodbHostOptions> mongodbHostOptions, IOptions <PictureOptions> pictureOptions, IWebHostEnvironment env, IMesRepository MesRepository, OtherInterface otherInterface)
 {
     _mongodbHostOptions = mongodbHostOptions.Value;
     _pictureOptions     = pictureOptions.Value;
     //_routineDbContext = routineDbContext ?? throw new ArgumentNullException(nameof(routineDbContext));
     this.hostingEnv = env ?? throw new ArgumentNullException(nameof(env));
     _mesRepository  = MesRepository ?? throw new ArgumentNullException(nameof(MesRepository));
     _otherInterface = otherInterface ?? throw new ArgumentNullException(nameof(otherInterface));
 }
Esempio n. 2
0
 public PictureService(
     IHttpClientFactory httpClientFactory,
     IOptionsSnapshot <StorageOptions> storageOptions,
     IOptionsSnapshot <PictureOptions> pictureOptions,
     IBlobService blobService,
     ILogger <PictureService> logger) : base(logger)
 {
     _httpClient     = httpClientFactory.CreateClient("pictures");
     _storageOptions = storageOptions.Value;
     _pictureOptions = pictureOptions.Value;
     _blobService    = blobService;
 }
Esempio n. 3
0
        public async Task RequestPicture(int maxPixelDimension, int percentQuality, PictureOptions options)
        {
            var pictureChooser = Mvx.Resolve <IMvxPictureChooserTask>();

            switch (options)
            {
            case PictureOptions.TakePicture:

                await ApiRequestHelper.HandlApiRequest(async() =>
                {
                    string url;
                    using (var stream =
                               await pictureChooser.TakePictureAsync(maxPixelDimension, percentQuality))
                    {
                        if (stream == null)
                        {
                            _messenger.Publish(new PictureMessage(this, string.Empty, Constants.Errors.OperationCanceled, false));
                            return;
                        }
                        url = await _api.UploadPicture(new StreamPart(stream,
                                                                      $"{Guid.NewGuid().ToString()}.jpg", "image/jpeg"));
                    }
                    _messenger.Publish(new PictureMessage(this, url, string.Empty, true));
                }, error => _messenger.Publish(new PictureMessage(this, string.Empty, error, false)));

                break;

            case PictureOptions.ChoosePicture:

                await ApiRequestHelper.HandlApiRequest(async() =>
                {
                    string url;
                    using (var stream =
                               await pictureChooser.ChoosePictureFromLibrary(maxPixelDimension, percentQuality))
                    {
                        if (stream == null)
                        {
                            _messenger.Publish(new PictureMessage(this, string.Empty, Constants.Errors.OperationCanceled, false));
                            return;
                        }
                        url = await _api.UploadPicture(new StreamPart(stream,
                                                                      $"{Guid.NewGuid().ToString()}.jpg", "image/jpeg"));
                    }
                    _messenger.Publish(new PictureMessage(this, url, string.Empty, true));
                }, error => _messenger.Publish(new PictureMessage(this, string.Empty, error, false)));

                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(options), options, null);
            }
        }
Esempio n. 4
0
        public void StartJob()
        {
            // 读取文件夹列表
            if (common.coon == "")
            {
                return;
            }
            var services = new ServiceCollection();
            var provider = services.BuildServiceProvider();

            this._pictureOptions = provider.GetService <PictureOptions>();
            // (this._pictureOptions == null) return;

            DoDowndata_Task();      // 下载任务信息
            DoUpdata_Task();        // 更新及反馈任务信息
        }
Esempio n. 5
0
        //private string gImgname;

        public ProductsController(
            IProductsInterface productsInterface,
            IOptions <PictureOptions> pictureOptions,
            IHostingEnvironment hostingEnvironment,
            IImgsInterface imgs,
            IProductCategoryInterface productCategory


            )
        {
            _productsInterface  = productsInterface;
            _pictureOptions     = pictureOptions.Value;
            _hostingEnvironment = hostingEnvironment;
            _imgs            = imgs;
            _productCategory = productCategory;
        }
Esempio n. 6
0
        public static ToolResult ToolPictures(ActionN64 action, Dictionary <string, string> inputs, PictureOptions pictureOptions)
        {
            switch (action)
            {
            case ActionN64.CopyObjTextures:     // Copy Obj Textures
                if (inputs.TryGetValue(DictConstants.ObjFile, out string objFile))
                {
                    if (inputs.TryGetValue(DictConstants.OutputDirectory, out string destDir))
                    {
                        if (inputs.TryGetValue(DictConstants.TextureDir, out string textureDir))
                        {
                            return(CopyUsedTexturesObj(objFile, destDir, textureDir));
                        }
                    }
                }
                break;

            case ActionN64.FlipTexture:     // Flip a picture
                if (inputs.TryGetValue(DictConstants.PictureFile, out string pictureFile))
                {
                    if (inputs.TryGetValue(DictConstants.PictureOutput, out string outputFile))
                    {
                        bool horizontal = pictureOptions.HasFlag(PictureOptions.FlipHorizontally);
                        bool vertical   = pictureOptions.HasFlag(PictureOptions.FlipVertically);
                        return(FlipTexture(pictureFile, outputFile, horizontal, vertical));
                    }
                }
                break;

            case ActionN64.MirrorTexture:     // Mirror a picture
                if (inputs.TryGetValue(DictConstants.PictureFile, out pictureFile))
                {
                    if (inputs.TryGetValue(DictConstants.PictureOutput, out string outputFile))
                    {
                        bool horizontal = pictureOptions.HasFlag(PictureOptions.MirrorHorizontally);
                        bool vertical   = pictureOptions.HasFlag(PictureOptions.MirrorVertically);
                        return(MirrorTexture(pictureFile, outputFile, horizontal, vertical));
                    }
                }
                break;

            case ActionN64.MakeTransparent:     // Create a transparent picture
                if (inputs.TryGetValue(DictConstants.AlphaFile, out string alphaFile))
                {
                    if (inputs.TryGetValue(DictConstants.TextureFile, out string textureFile))
                    {
                        if (inputs.TryGetValue(DictConstants.PictureOutput, out string outputFile))
                        {
                            return(MakeTransparent(alphaFile, textureFile, outputFile));
                        }
                    }
                }
                break;

            case ActionN64.NegativePicture:     // Create a negative picture
                if (inputs.TryGetValue(DictConstants.PictureFile, out pictureFile))
                {
                    if (inputs.TryGetValue(DictConstants.PictureOutput, out string outputFile))
                    {
                        return(NegativePicture(pictureFile, outputFile));
                    }
                }
                break;

            case ActionN64.CopyBlacklistTextures:     // Copy BlackListed Textures
                if (inputs.TryGetValue(DictConstants.OutputDirectory, out string outputDirectory))
                {
                    return(CopyTexturesBlacklist(outputDirectory));
                }
                break;
            }
            return(new ToolResult(ToolResultEnum.DefaultError));
        }
Esempio n. 7
0
 public void StartJob(IOptions <PictureOptions> options) => this._pictureOptions = options.Value;
 /// <summary>
 /// 构造函数注入
 /// </summary>
 /// <param name="mongodbHostOptions">MongodbHost信息</param>
 /// <param name="pictureOptions">图片选项</param>
 public PictureController(IOptions <MongodbHostOptions> mongodbHostOptions, IOptions <PictureOptions> pictureOptions)
 {
     _mongodbHostOptions = mongodbHostOptions.Value;
     _pictureOptions     = pictureOptions.Value;
 }