有450幅分辨率为900*400图像,现需要将每幅图片的第一列取出来,拼成一张分辨率为450*400的新图像。请教高效的算法。

解决方案 »

  1.   

    图片合并
     private Bitmap MergerImg(Dictionary<string, Bitmap> bitMapDic)
      {
      Bitmap backgroudImg = new Bitmap(bitMapDic.Count * 12, 16);
      Graphics g = Graphics.FromImage(backgroudImg);
      g.Clear(System.Drawing.Color.White);
      int j = 0;
      foreach (KeyValuePair<string, Bitmap> entry in bitMapDic)
      {
      Bitmap map = entry.Value;
      g.DrawImage(map, j * 11, 0, map.Width, map.Height);
      j++;
      }
      g.Dispose();
      return backgroudImg;
      } 
      

  2.   

    你把每个步骤的耗时分别计算一下,我想应该是个图像读写数据的问题,这个问题解决了,效率就高了,你到我的资源去下一个类,是用 MemoryStream 的方式来进行格式转换,在位图与数组之间。后面的工作就不会太难了
      

  3.   

    http://wenku.baidu.com/view/4bfa9b1ea76e58fafab00307.html
    BitmapData