【问题标题】:ImageResizer get resized imageImageResizer 获取调整大小的图像
【发布时间】:2013-11-13 17:47:00
【问题描述】:

我是 imageresizing.net 的 Imageresizer 的新手,我不知道如何获取调整大小的图像。我需要调整大小的图像,因为我需要为其添加水印。我需要调整后图像的位图。

代码:

 string fileName = Path.Combine(Server.MapPath("~/Content/Gags"), System.Guid.NewGuid().ToString());

var ResizedImage = ImageBuilder.Current.Build(new ImageJob(UploadGagModel.file, fileName, new Instructions("maxwidth=556&maxheight=1500"), false, true));

我正在使用 ASP.NET MVC 4 C#

先谢谢了,如果我不够清楚,请告诉我!

【问题讨论】:

  • 这是我试过的:Bitmap ResizedImage = (Bitmap)Bitmap.FromStream(ImageBuilder.Current.GetStreamFromSource(UploadGagModel.file, new ResizeSettings("width=200;height=200;format=jpg; mode=max"), ref test2, out test, out test2));但它不会调整图像大小。

标签: c# asp.net image-resizing imageresizer


【解决方案1】:

不惜一切代价避免直接使用 System.Drawing - 它is fraught with memory leaks, concurrency issues, and encoding bugs。 ImageResizer 为您处理和避免这些问题,并提供Watermarking plugin 以及 SampleOverlay 示例插件,向您展示如果 Watermark 无法满足您的需求,如何安全地创建自己的插件。

如果不顾我的警告,您想要获得 Bitmap 结果,您可以将 typeof(Bitmap) 作为“目标”参数传递给 ImageJob,并从 .Result 属性访问 Bitmap 实例。

其他后果:

  • 除非您在finally(){} 块中处置它(使用临时变量跨越范围边界),否则不会可靠地处置位图实例。
  • ImageResizer 不会帮助您对结果进行编码。如果您调用 .Save(),您将获得巨大的 jpeg 文件,并且不支持 8 位 PNG 或动画 gif。
  • 您将无法利用任何其他管道(WIC、FreeImage 等)。我们未来的大部分开发将基于比 GDI+/System.Drawing 更好的管道。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-07
    • 1970-01-01
    • 1970-01-01
    • 2014-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多