public ImageResult FlipImage(FlipImage flipParam) { var result = new ImageResult { Message = OpMessage.Success }; try { if (flipParam.Param.FlipHorizontally && flipParam.Param.FlipVertically) { imageFactory.Flip(false, true).Save(outStream); } else if (!flipParam.Param.FlipHorizontally) { imageFactory.Flip(true, false).Save(outStream); } else { imageFactory.Flip(true, false).Save(outStream); imageFactory.Flip(false, true).Save(outStream); } } catch (Exception ex) { result.Message = OpMessage.InvalidInputParameter; return(result); } result.Result = outStream.ToArray(); return(result); }
/// <summary> /// process rotate image request /// </summary> private string flipImage(string imageFile, bool flipHorizontal, bool flipVertical) { iFlipImage flipImage = new FlipImage(); if (flipHorizontal) { return(flipImage.FlipImageHorizontal(imageFile)); } else if (flipVertical) { return(flipImage.FlipImageVertical(imageFile)); } else { return(null); } }
public IActionResult FlipImage([FromBody] FlipImage inputs) { ImageProHandler.LoadImage(inputs.Imagestream); var response = ImageProHandler.FlipImage(inputs); ImageProHandler.outStream.Close(); ImageProHandler.inStream.Close(); if (response.Message == OpMessage.InvalidOperation) { return(StatusCode(405, new InvalidOperationError() { })); } else if (response.Message == OpMessage.InvalidInputParameter) { return(StatusCode(409, new InvalidInputParameterError() { })); } return(Ok(response)); }
public ImageResult MultipleOperation(MultiOperation inputs) { var result = new ImageResult { Message = OpMessage.Success }; var param = inputs.MultiOperationParam; var flipOps = param.FlipParam; var gsOps = param.GreyScaleParam; var resizeOps = param.ResizeParam; var rotateOps = param.RotateParam; var thumbnailOps = param.ThumbnailParam; var allOps = flipOps.Count() + gsOps.Count() + resizeOps.Count() + rotateOps.Count() + thumbnailOps.Count(); if (allOps != param.MultiOperationSequence.Count() || param.MultiOperationSequence.Count() == 0) { result.Message = OpMessage.InvalidInputParameter; return(result); } try { param.MultiOperationSequence.ForEach(operation => { switch (operation) { case Operations.FLIP: var flipParam = flipOps[0]; flipOps.Remove(flipParam); var fp = new FlipImage { Param = flipParam, }; FlipImage(fp); break; case Operations.ROTATE: var rotateParam = rotateOps[0]; rotateOps.Remove(rotateParam); var rop = new RotateImage { Param = rotateParam, }; RotateImage(rop); break; case Operations.RESIZE: var resizeParam = resizeOps[0]; resizeOps.Remove(resizeParam); var rep = new ResizeImage { Param = resizeParam, }; ResizeImage(rep); break; case Operations.GRAYSCALE: var gsParam = gsOps[0]; gsOps.Remove(gsParam); GrayScaleImage(); break; case Operations.THUMBNAIL: var tp = thumbnailOps[0]; thumbnailOps.Remove(tp); ThumbnailImage(); break; default: throw new Exception(); } imageFactory.Load(outStream); }); } catch (Exception ex) { result.Message = OpMessage.InvalidOperation; return(result); } result.Result = outStream.ToArray(); return(result); }