private ISupportedImageFormat GetFormat(string extension, ImageInstruction ins) { ISupportedImageFormat format = null; if (extension.Equals(".jpg", StringComparison.OrdinalIgnoreCase) || extension.Equals(".jpeg", StringComparison.OrdinalIgnoreCase)) { format = new JpegFormat { Quality = ins.JpegQuality } } ; else if (extension.Equals(".gif", StringComparison.OrdinalIgnoreCase)) { format = new GifFormat { } } ; else if (extension.Equals(".png", StringComparison.OrdinalIgnoreCase)) { format = new PngFormat { } } ; return(format); }
private void EnsureCurrentInstruction() { if (_currentInstruction == null) { _currentInstruction = new ImageInstruction(); _instructions.Add(_currentInstruction); } }
private Stream ProcessImage(IDocument input, ISupportedImageFormat format, ImageInstruction ins) { using (var imageFactory = new img.ImageFactory(preserveExifData: true)) { // Load, resize, set the format and quality and save an image. img.ImageFactory fac; using (Stream stream = input.GetStream()) { fac = imageFactory.Load(stream).Format(format); } if (ins.IsNeedResize) { if (ins.IsCropRequired) { var layer = new ResizeLayer( size: ins.GetCropSize().Value, anchorPosition: ins.GetAnchorPosition(), resizeMode: ResizeMode.Crop ); fac.Resize(layer); } else { fac.Resize(ins.GetCropSize().Value); } } foreach (var f in ins.Filters) { fac.Filter(ins.GetMatrixFilter(f)); } if (ins.Brightness.HasValue) { fac.Brightness(ins.Brightness.Value); } if (ins.Constraint.HasValue) { fac.Constrain(ins.Constraint.Value); } if (ins.Opacity.HasValue) { fac.Alpha(ins.Opacity.Value); } if (ins.Hue != null) { fac.Hue(ins.Hue.Degrees, ins.Hue.Rotate); } if (ins.Tint != null) { fac.Tint(ins.Tint.Value); } if (ins.Vignette != null) { fac.Vignette(ins.Vignette.Value); } if (ins.Saturation.HasValue) { fac.Saturation(ins.Saturation.Value); } if (ins.Contrast.HasValue) { fac.Contrast(ins.Contrast.Value); } var outputStream = new MemoryStream(); fac.Save(outputStream); outputStream.Seek(0, SeekOrigin.Begin); return(outputStream); } }
private Stream ProcessImage(IDocument input, ISupportedImageFormat format, ImageInstruction ins) { using (var imageFactory = new img.ImageFactory(preserveExifData: true)) { // Load, resize, set the format and quality and save an image. img.ImageFactory fac; using (Stream stream = input.GetStream()) { fac = imageFactory.Load(stream).Format(format); } if (ins.IsNeedResize) { if (ins.IsCropRequired) { var layer = new ResizeLayer( size: ins.GetCropSize().Value, anchorPosition: ins.GetAnchorPosition(), resizeMode: ResizeMode.Crop ); fac.Resize(layer); } else { fac.Resize(ins.GetCropSize().Value); } } foreach (var f in ins.Filters) { fac.Filter(ins.GetMatrixFilter(f)); } if (ins.Brightness.HasValue) { fac.Brightness(ins.Brightness.Value); } if (ins.Constraint.HasValue) { fac.Constrain(ins.Constraint.Value); } if (ins.Opacity.HasValue) { fac.Alpha(ins.Opacity.Value); } if (ins.Hue != null) { fac.Hue(ins.Hue.Degrees, ins.Hue.Rotate); } if (ins.Tint != null) { fac.Tint(ins.Tint.Value); } if (ins.Vignette != null) { fac.Vignette(ins.Vignette.Value); } if (ins.Saturation.HasValue) { fac.Saturation(ins.Saturation.Value); } if (ins.Contrast.HasValue) { fac.Contrast(ins.Contrast.Value); } var outputStream = new MemoryStream(); fac.Save(outputStream); outputStream.Seek(0, SeekOrigin.Begin); return outputStream; } }
private ISupportedImageFormat GetFormat(string extension, ImageInstruction ins) { ISupportedImageFormat format = null; if (extension.Equals(".jpg", StringComparison.OrdinalIgnoreCase) || extension.Equals(".jpeg", StringComparison.OrdinalIgnoreCase)) format = new JpegFormat { Quality = ins.JpegQuality }; else if (extension.Equals(".gif", StringComparison.OrdinalIgnoreCase)) format = new GifFormat { }; else if (extension.Equals(".png", StringComparison.OrdinalIgnoreCase)) format = new PngFormat { }; return format; }