我们在使用允许用户上传和裁剪图像的 ASP.NET 应用程序时遇到问题。之后图像全部缩放为固定尺寸。当处理大文件时,我们基本上会耗尽内存;看来 JPEG 的处理效率相当低——我们正在使用 System.Drawing.BitMap。您有什么一般性建议,也许还有一些关于更有效的图像处理库的建议吗?你有什么经历?
我遇到了同样的问题,解决方案是使用 System.Drawing.Graphics 进行转换并在完成后立即处理每个位图对象。这是我的库中的示例(调整大小):
public Bitmap ApplyTo(Bitmap bitmap)
{
using (bitmap)
{
Bitmap newBitmap = new Bitmap(bitmap, CalculateNewSize(bitmap));
using (Graphics graphics = Graphics.FromImage(newBitmap))
{
graphics.SmoothingMode =
SmoothingMode.None;
graphics.InterpolationMode =
InterpolationMode.HighQualityBicubic;
graphics.CompositingQuality =
CompositingQuality.HighQuality;
graphics.DrawImage(
bitmap,
new Rectangle(0, 0, newBitmap.Width, newBitmap.Height));
}
return newBitmap;
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)