Olá! Quarta Feira, 19 de Novembro de 2008.


Dicas CódigoFonte.net
Domingo, 11 de Janeiro de 2004

Thumbnails ASP.NET em C#


Este turorial apresenta um exemplo simples e muito útil para criação de imagens em miniaturas, conhecidas como Thumbnails (Miniaturas).

O Código abaixo é o arquivo principal no qual está configurado para criar a nossa miniatura, de acordo com os parâmetros informados.
Os parâmetros necessário são:
file = nome do arquivo de imagem (tem que estar no mesmo servidor da aplicação)
w = comprimento
h = altura

Salve o código abaixo com o nome "getThumbnail.aspx"

    
<%@ Page language="c#"%>
<%@ Import Namespace="System"%>
<%@ Import Namespace="System.IO"%>
<script runat="server">
private void Page_Load(object sender, System.EventArgs e)
{
// Recebe a QueryString "file"
string file = Request.QueryString["file"];
//Recebe as medidas p/ miniatura
int width = Convert.ToInt32(Request.QueryString["w"]);
int height = Convert.ToInt32(Request.QueryString["h"]);

// cria o object imagem com o nome e camimho completo do arquivo
System.Drawing.Image image = System.Drawing.Image.FromFile(Server.MapPath(file));

// cria o thumbnail do object image, definindo sua altura e largura para 64
System.Drawing.Image thumbnailImage = image.GetThumbnailImage(width, height, new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback), IntPtr.Zero);

// cria a memory stream para trabalhar com os bytes da imagem
MemoryStream imageStream = new MemoryStream();

// coloca a imagem na memory stream
thumbnailImage.Save(imageStream, System.Drawing.Imaging.ImageFormat.Jpeg);

// cria um array de bytes com o tamanho da imagem
byte[] imageContent = new Byte[imageStream.Length];

// rebobina a memory stream
imageStream.Position = 0;

// carrega o array de bytes com a imagem
imageStream.Read(imageContent, 0, (int)imageStream.Length);

// modifica o cabeçalho "content-type" da página para "image/jpeg" e imprime a imagem.
Response.ContentType = "image/jpeg";
Response.BinaryWrite(imageContent);

}
//função complementar 
public bool ThumbnailCallback()
{
return true;
}
</script>
    


Para utilizá-lo, é simples. Basta configurar a url em asp.net ou src da imagem em html.
Ex.:
em um arquivo asp.net utilize:
    <asp:Image runat="server" ImageUrl="getThumbnail.aspx?file=imagem.jpg&w=60&h=60"/>    

ou em um arquivo .htm, .shtml, .etc...:
    <img src="getThumbnail.aspx?file=imagem.jpg&w=60&h=60"/>    


Agora é só utilizar sua criatividade.


Falow galera e ateh!

Comentários do artigo [Novo comentário]

Nenhum comentário, seja o primeiro a comentar.
Para adicionar um comentário você deve efetuar o login

Gostou do CódigoFonte.net? Quer indicar a um amigo?
Preencha os campos a seguir.
Seu Nome:
Seu E-mail:
E-mail de seu Amigo:




Melhor Visualizado com
800x600 de Resolução

CodigoFonte.net » CodigoFonte.eti.br » Procurando o que comprar? » MeuMural.com.br » Todos os Direitos Reservados © 2002/2008

Procurando Notebooks, Câmeras Digitais, iPhones?

CompreDeTudo.com