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; }
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; }
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; }
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; }