/// <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)); }
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; }
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); } }
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(); // 更新及反馈任务信息 }
//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; }
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)); }
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; }