Exemple #1
0
        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);
            }
        }
Exemple #3
0
        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));
        }
Exemple #4
0
        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);
        }