terça-feira, 13 de outubro de 2009

Criando Thumbnails com C#



Neste artigo mostraremos uma forma simples para gerar thumbnails simples com .NET.

Primeiramente criaremos um arquivo chamado Thumbnail.aspx e o code behind thumbnail.aspx.cs no Visual Studio.

O Conteúdo será exibido da seguinte maneira:

<%@ Page language="c#" Codebehind="Thumbnail.aspx.cs" Inherits="Thumbnail" %>


Agora, abra o arquivo Thumbnail.aspx.cs e criaremos o code behind:


public class Thumbnail : System.Web.UI.Page
{
private void Page_Load(object sender, System.EventArgs e)
{
string file = Request.QueryString["file"];
string w = Request.QueryString["w"];
string h = Request.QueryString["h"];
System.Drawing.Image.FromFile(Server.MapPath(file));
System.Drawing.Image thumbnailImage = image.GetThumbnailImage(Int32.Parse(w), Int32.Parse(h), new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback), IntPtr.Zero);
MemoryStream imageStream = new 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);
}
public bool ThumbnailCallback()
{
return true;
}
}


Pronto. Basta chamar em seu código HTML da seguinte maneira:

<img src="Thumbnail.aspx?file=teste.jpg&w=100&h=100" />

Onde:
- O atributo file é o nome do arquivo a partir da raiz do site.
- O atributo w é a largura do thumbnail desejado.
- O atributo h é a altura do thumbnail desejado.

Não esqueça de efetuar a validação dos parametros enviados pela QueryString.

Espero ter ajudado.

0 comentários:

Postar um comentário