Сохранить панель как изображение в asp.net

У меня есть панель в asp.net, которая содержит много изображений. Моя проблема заключается в том, как сохранить все изображение на панели как 1 изображение.

Можно ли использовать drawToBitmap в asp.net?

2 ответа

Вы можете отобразить результат в растровом изображении, используя метод WebBrowser.DrawToBitmap элемента управления WebBrowser.

Посмотрите эту ссылку с примером, который возвращает растровое представление веб-страницы:

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

Нет, нет DrawToBitmap метод в ASP.NET Панель управления. Нет необходимости говорить, что вы не можете ссылаться на сборку Windows Forms в своем проекте ASP.NET, чтобы достичь этого.

Лучший снимок, который у вас есть, - это объединить все эти изображения в одно. Вот пример кода 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();
    }
  }
}
Другие вопросы по тегам