Example #1
0
        public byte[] CropImage(Stream stream, MediaTypes mediaType, Rectangle rectangle)
        {
            byte[] result;

            var format = mediaType.DetectFormat();

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

                result = outStream.ToArray();
            }

            return result;
        }
Example #2
0
        public byte[] CreatePreview(Stream stream, MediaTypes mediaType, Size size)
        {
            byte[] result;
            var format = mediaType.DetectFormat();
            var resizeLayer = new ResizeLayer(size, ResizeMode.Crop);

            stream.ResetStream();
            using (var outStream = new MemoryStream())
            {
                using (var imageFactory = new ImageFactory(preserveExifData: true))
                {
                    imageFactory.Load(stream)
                        .Format(format)
                        .Resize(resizeLayer)
                        .Save(outStream);
                }

                result = outStream.ToArray();
            }

            return result;
        }
Example #3
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;
        }
Example #4
0
        public byte[] OriginalProcess(Stream stream, MediaTypes mediaType, Size maxSize)
        {
            byte[] result;

            var format = mediaType.DetectFormat();
            var imageSize = GetSize(stream);
            var targetSize = imageSize.TargetSize(maxSize);

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

                result = outStream.ToArray();
            }

            return result;
        }