将面板保存为asp.net中的图像

时间:2014-01-08 04:15:21

标签: asp.net image export drawtobitmap

我在asp.net中有一个包含许多图像的面板。我的问题是如何将面板中的所有图像保存为1张图像。

是否可以在asp.net中使用drawToBitmap?

2 个答案:

答案 0 :(得分:0)

不,DrawToBitmap Panel控件中没有ASP.NET方法。不用说,你不能在ASP.NET项目中引用Windows窗体程序集来实现这一点。

你得到的最佳镜头是将所有这些图像合二为一。这是一个示例c#代码......

public static System.Drawing.Bitmap Combine(string[] files)
{
  //read all images into memory
  List<System.Drawing.Bitmap> images = new List<System.Drawing.Bitmap>();
  System.Drawing.Bitmap finalImage = null;

  try
  {
    int width = 0;
    int height = 0;

    foreach (string image in files)
    {
      //create a Bitmap from the file and add it to the list
      System.Drawing.Bitmap bitmap = new System.Drawing.Bitmap(image);

      //update the size of the final bitmap
      width += bitmap.Width;
      height = bitmap.Height > height ? bitmap.Height : height;

      images.Add(bitmap);
    }

    //create a bitmap to hold the combined image
    finalImage = new System.Drawing.Bitmap(width, height);

    return finalImage;
  }
  catch(Exception ex)
  {
    if (finalImage != null)
      finalImage.Dispose();

    throw ex;
  }
  finally
  {
    //clean up memory
    foreach (System.Drawing.Bitmap image in images)
    {
      image.Dispose();
    }
  }
}

答案 1 :(得分:0)

您可以使用WebBrowser控件的WebBrowser.DrawToBitmap方法在位图上渲染结果。

使用返回网页的位图表示的示例查看此链接:

http://pietschsoft.com/post/2008/07/c-generate-webpage-thumbmail-screenshot-image