Создание миниатюр изображений с помощью файла - PullRequest
0 голосов
/ 22 апреля 2011

Мне интересно, есть ли какие-либо недостатки в использовании файла для создания эскиза для существующего изображения вместо его сохранения на диск.Есть ли проблемы с памятью, связанные с этим ?!
Мой код:

// thumbnails.aspx

protected void Page_Load(object sender, EventArgs e)
{
    string file = Request.QueryString["i"];
    if (file == null)
        return;
    if (!IsFileExists(file))
        return;
    Thumb(file);
  }
public void Thumb(string file) 
{
    System.Drawing.Image image = System.Drawing.Image.FromFile(Server.MapPath(file));
    System.Drawing.Image thumbnailImage = image.GetThumbnailImage(70, 70, new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback), IntPtr.Zero);
    System.IO.MemoryStream imageStream = new System.IO.MemoryStream();
    thumbnailImage.Save(imageStream, System.Drawing.Imaging.ImageFormat.Jpeg);
    byte[] imageContent = new Byte[imageStream.Length];
    imageStream.Position = 0;
    imageStream.Read(imageContent, 0, (int)imageStream.Length);
    Response.ContentType = "image/jpeg";
    Response.BinaryWrite(imageContent);
}

1 Ответ

0 голосов
/ 22 апреля 2011

Сохраните его в файле.Преобразование в миниатюру с использованием GDI каждый раз будет использовать много циклов процессора.Вы также можете сохранить изображение в базе данных, а не на диске.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...