コード例 #1
0
        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);
        }
コード例 #2
0
        private void CropImage(Rectangle cp, Stream source, MemoryStream croppedImage)
        {
            var    imageResizer = new ImageResizer.Configuration.Config();
            string cropFormat   = $"?crop={cp.Left},{cp.Top},{cp.Right},{cp.Bottom}";
            var    resizeJob    = new ImageResizer.ImageJob(source, croppedImage,
                                                            new Instructions(cropFormat));

            imageResizer.Build(resizeJob);
        }
コード例 #3
0
 public IPlugin Install(ImageResizer.Configuration.Config c)
 {
     if (c.Plugins.Has <ProfilingObserverPlugin>())
     {
         return(null);
     }
     c.Plugins.AllPlugins.AddFirst(this);
     c.Plugins.ImageBuilderExtensions.AddFirst(this);
     return(this);
 }
コード例 #4
0
        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);
        }
コード例 #5
0
 public bool Uninstall(ImageResizer.Configuration.Config c)
 {
     c.Plugins.remove_plugin(this);
     return(true);
 }
コード例 #6
0
        public Stream ResizeImage(Stream image, int width, int height)
        {
            var config = new ImageResizer.Configuration.Config();
            var buffer = new MemoryStream();
            var job = new ImageJob(image, buffer, new Instructions($"width={width}"));
            config.Build(job);
            return buffer;

            //var resizedImage = new Bitmap(image);
            //var result = new Bitmap(width, height);
            //result.SetResolution(resizedImage.HorizontalResolution, resizedImage.VerticalResolution);
            //using (Graphics graphics = Graphics.FromImage(result))
            //{
            //    graphics.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
            //    graphics.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
            //    graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
            //    graphics.DrawImage(resizedImage, 0, 0, width, height);
            //}

            //resizedImage.Dispose();
            //await _storageHelper.Storefile(result, _thumbnailImage);
            //return await _storageHelper.GetFile(_thumbnailImage);
        }
コード例 #7
0
ファイル: BmpEncoder.cs プロジェクト: timgaunt/resizer
 public ImageResizer.Plugins.IPlugin Install(ImageResizer.Configuration.Config c)
 {
     c.Plugins.add_plugin(this);
     return(this);
 }