我们最近开始使用ImageResizer.Net over GDI+ 在我们的 ASP.NET MVC 4 应用程序上动态调整图像大小。
有没有办法只使用 ImageResizer 来确定图像的实际分辨率(DPI,PPI,无论你想怎么称呼它)(作为字节数组读入)。我们目前有这样的工作流程,在需要时将图像调整为指定的较低分辨率:
//pseudo-code
var image = (Bitmap)Bitmap.FromStream(contentStream)
var resX = image.HorizontalResolution;
var resY = image.VerticalResolution;
//calculate scale factor
//determine newHeight and newWidth from scale
var settings = new ResizeSettings("width={newWidth}&height={newHeight}")
var newImage = ImageBuilder.Current.Build(image, someNewImage, settings);
这很好用,但它混合了 GDI+ 和 ImageResizer,并且有很多相同数据的流打开和关闭(实际代码有点冗长,有很多using
语句)。
有没有办法只使用 ImageResizer 来确定水平和垂直分辨率?我无法立即在文档中找到任何内容。
目前,我们使用了托管 api,但最终将使用 MVC 路由。