Thumbnails u ASP.NET-u

U klasičnom APS-u ne postoji funkcija za generisanje thumbnailsa. U tom slučaju morate koristiti komponentu kao što je AspJpeg. Medjutim ASP.NET sadrži ugradjenu biblioteku pod nazivom System.Drawing i nju možete koristiti za thumbnailse ili druge manipulacije slika.

Generisanje thumbnaila iz fajla

Ispod možete pronaći kod za generisanje thumbnaila iz fajla. Imajte na umu da kod mora biti malo modifikovan kako bi radio sa Vašom slikom. Putanja fajla mora biti izmenjena kao i vrsta fajla ukoliko thumbnail nije u .png formatu.

Potrebno je da izmenite namespace i class name kako bi kod pravilno funkcionisao.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
namespace MyProject
{
public partial class MyPage: System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
// Prepare callback
System.Drawing.Image.GetThumbnailImageAbort myCallback = new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback);

// Read source data
System.Drawing.Image img = System.Drawing.Image.FromFile(Server.MapPath("./images/test.png"));

// Generate thumbnail
int width = img.Width / 4;
int height = img.Height / 4;
System.Drawing.Image thumb = img.GetThumbnailImage(width, height, myCallback, IntPtr.Zero);

// Output
Response.Clear();
Response.ClearHeaders();
Response.AddHeader("Content-Type", "image/png");
MemoryStream ms = new MemoryStream();
thumb.Save(ms, ImageFormat.Png);
ms.WriteTo(Context.Response.OutputStream);
Response.End();
}

private bool ThumbnailCallback()
{
return false;
}
}
}
Was this article helpful?

Related Articles