快速创建多个位图对象

时间:2015-01-13 00:45:22

标签: c# winforms bitmap

从500多个不同的图像文件创建500多个位图的最快方法是什么?它们需要调整HQ大小并转换为像素格式Format32bppPArgb以便更快地绘制。

我按如下方式创建每个位图:

Bitmap resized;
using (Bitmap original = new Bitmap(pathToFile))
{
  resized = new Bitmap(width, height, PixelFormat.Format32bppPArgb);
  resized.SetResolution(original.HorizontalResolution, original.VerticalResolution);
  using (Graphics g = Graphics.FromImage(resized))
  {
    g.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
    g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
    g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
    g.DrawImage(original, 0, 0, width, height);
  }
}

我正在运行一个新的BackgroundWorker来处理每个Bitmap创建,这大大加快了这个过程,但我仍然在寻找更高的速度(不牺牲图像质量)。预先确定尺寸的图像不是我尝试做的事情的可能性。

非常感谢任何帮助。 :)

0 个答案:

没有答案