public static Size CalculateNewSize(object source, ResizeSettings settings) { if (source == null) { throw new ArgumentNullException("sourse"); } if (source is Image || source is Bitmap) { return(CalculateNewSize(source as Image, settings)); } Bitmap bitmap = null; try { bitmap = ImageBuilder.LoadImage(source); Size newSize = CalculateNewSize(bitmap as Image, settings); return(newSize); } finally { if (bitmap != null) { bitmap.Dispose(); } } }
public void SaveAs(Stream stream, ImageFormat imageFormat) { if (imageFormat == null) { throw new ArgumentNullException("ImageFormat"); } Bitmap bitmap = GetFinalBitmapForSave(); if (ImageFormat.Jpeg.Equals(imageFormat)) { if (imageFormat.Equals(bitmap.RawFormat)) { this.SaveAs(stream, imageFormat, 100); } else { this.SaveAs(stream, imageFormat, 90); } } else { ImageBuilder.SaveImage(bitmap, stream, imageFormat, 100); } }
public void SaveAs(Stream stream, ImageFormat imageFormat, int jpegQuality) { if (stream == null) { throw new ArgumentNullException("stream"); } if (imageFormat == null) { throw new ArgumentNullException("ImageFormat"); } if (jpegQuality < 10 || jpegQuality > 100) { throw new ArgumentException("Качество изображения может быть в диапазоне 10 - 100"); } Bitmap bitmap = GetFinalBitmapForSave(); ImageBuilder.SaveImage(bitmap, stream, imageFormat, jpegQuality); }
public void SaveAs(string fileName, ImageFormat imageFormat, int jpegQuality) { if (string.IsNullOrEmpty(fileName)) { throw new ArgumentNullException("FileName"); } if (imageFormat == null) { throw new ArgumentNullException("ImageFormat"); } if (jpegQuality < 10 || jpegQuality > 100) { throw new ArgumentException("Качество изображения может быть в диапазоне 10 - 100"); } Bitmap bitmap = GetFinalBitmapForSave(); ImageBuilder.SaveImage(bitmap, fileName, imageFormat, jpegQuality); }
public static void ProcessImage(IEnumerable<IPlugin> extensions, object source, object target = null, ResizeSettings resizeSettings = null) { resizeSettings = resizeSettings ?? new ResizeSettings() {}; target = target ?? new MemoryStream(); var builderConfig = new ImageResizer.Configuration.Config(); foreach (var extension in extensions) extension.Install(builderConfig); var imageBuilder = new ImageBuilder(builderConfig.Plugins.ImageBuilderExtensions, builderConfig.Plugins, builderConfig.Pipeline, builderConfig.Pipeline); Console.WriteLine("processing " + source); if (source is string && source.ToString().StartsWith("http")) { source = new MemoryStream(new WebClient().DownloadData(source.ToString())); } imageBuilder.Build(source, target, resizeSettings, false); }
/// <summary> /// Создает экземпляр ImageInfo /// </summary> /// <param name="source">"Источник может быть Uri, String, Bitmap, Image, Stream, byte[]"</param> /// <returns></returns> public static ImageInfo Build(object source) { Bitmap bitmap = ImageBuilder.LoadImage(source); return(new ImageInfo(bitmap)); }