private void ExecuteRotateAction()
        {
            CreateSnapshot();
            RotateTypes rotateTypes = EnumUtil.ParseEnum <RotateTypes>(_paintForm.RotateType);

            _currentCanvas.Rotate(rotateTypes);
            _paintForm.UpdateCanvas(_currentCanvas.Bitmap);
        }
示例#2
0
        public static float GetRotateStep(RotateTypes rotateType, float rotateStep = DefaultRotateStep)
        {
            float result;

            if (rotateType == RotateTypes.Right)
            {
                result = rotateStep;
            }
            else
            {
                result = -rotateStep;
            }

            return result;
        }
示例#3
0
        public Bitmap Rotate(RotateTypes rotateTypes, Bitmap currentBitmap)
        {
            switch (rotateTypes)
            {
            case RotateTypes.Left90:
                return(_rotateControler.RotateLeft90(currentBitmap));

            case RotateTypes.Right90MenuItem:
                return(_rotateControler.RotateRight90(currentBitmap));

            case RotateTypes.Right180:
                return(_rotateControler.Rotate180(currentBitmap));

            default:
                throw new ArgumentOutOfRangeException(nameof(rotateTypes), rotateTypes, null);
            }
        }
示例#4
0
        public byte[] Rotate(Stream stream, MediaTypes mediaType, RotateTypes rotateType)
        {
            byte[] result;

            var format = mediaType.DetectFormat();
            var rotateStep = RotateUtility.GetRotateStep(rotateType);

            stream.ResetStream();
            using (var outStream = new MemoryStream())
            {
                using (var imageFactory = new ImageFactory())
                {
                    imageFactory.Load(stream)
                        .Format(format)
                        .Rotate(rotateStep)
                        .Save(outStream);
                }

                result = outStream.ToArray();
            }

            return result;
        }
示例#5
0
        public byte[] Rotate(byte[] bytes, MediaTypes mediaType, RotateTypes rotateType)
        {
            byte[] result;

            using (var inStream = new MemoryStream(bytes))
            {
                result = Rotate(inStream, mediaType, rotateType);
            }

            return result;
        }
示例#6
0
        public void Rotate(RotateTypes rotateTypes)
        {
            RotateTypeFactory factory = new RotateTypeFactory();

            _bitmap = new Bitmap(factory.Rotate(rotateTypes, _bitmap));
        }
示例#7
0
 public RotateViewModel(Guid imageId, RotateTypes rotateType)
 {
     ImageId = imageId;
     RotateType = rotateType;
 }