我有一个用例需要渲染位图拼贴作为预览。该应用程序实现为基于 MVC 的 REST 服务,我有一个相当普通的实现:
using (var bitmap = new Bitmap((int)maxWidth, (int)maxHeight))
{
using (var graphic = Graphics.FromImage(bitmap))
{
graphic.InterpolationMode = InterpolationMode.HighQualityBicubic;
// now again for each mod
foreach (var mod in mods)
{
var frame = frames.First(f => f.Index == mod.FrameIndex);
var fileInfo = GetFileInfo(mod);
using (var modImage = Image.FromFile(fileInfo.FullName))
{
graphic.DrawImage(modImage, (int)frame.Left, (int)frame.Top);
}
}
bitmap.Save(previewFileName);
}
}
虽然这段代码运行良好,但性能却很差(尤其是较大的图像)。我也愿意使用第三方库,我只需要一个性能更快的解决方案。
任何帮助将不胜感激。
更新
为了阐明用例,缓存无济于事。这些图像由客户上传,然后他们请求预览所选拼贴。将图像写入拼贴画很慢。