HTML, JavaScript, PHP, ASP, .Net, C#, MySQL, Ms. SQL ...

Utilizando ASP.net p/ gerar Thumbnail de imagens

Aprenda a utilizar bibliotecas em ASP.Net para criação de thumbnails de imagens

asp.net system.drawing thumbnail em aspx vb.net

Muito interessante esta aplicação em ASP.net que desenvolvi no site Turma da Concha, ideal para ser utilizado em álbuns de fotos dinamicamente.

 

Em nenhum momento, criou-se outra imagem de dimensões reduzidas. Com isso ganhei tempo, espaço em disco no servidor e principalmente, maior organização da localização dos arquivos.

Esta é a imagem original Esta é a imagem Thumbnail


 

 

A diferença encontrada nas duas imagens é o seu endereço:

Imagem original: /arquivos/images/0003.jpg

Imagem thumbnail: /thumbnail.aspx?IMG=arquivos/images/0003.jpg&X=160&Y=75

 

Instruções:

1. Gere a variável de Aplicação* a seguir no Global.asax (estamos trabalhando com ASP.net, ok?)

  Application("PATH_FISICO") = "d:aspleobreda"

 

* Por que gerar uma variável que armazena o endereço físico?

É mais fácil pra quem trabalha às vezes com diversas páginas no micro de casa; o endereço físico instanciado na variável simula a pasta raiz que o IIS configura, e a partir daí eu possa trabalhar com as páginas independe da estação de trabalho.

 

2. Crie o arquivo thumbnail.aspx

<%@ Page Language="vb"      Debug="true" %>
<%
' Inicializa as variáveis
Dim strFilename as string
Dim g as System.Drawing.Image
Dim cb as System.Drawing.Image.GetThumbnailImageAbort
Dim cbd As System.IntPtr
Dim Altura, Largura As Integer

strFilename = Application("PATH_FISICO") & Request.QueryString("IMG")

If Request.QueryString("X") <> "" Then
Altura = Convert.ToInt32(Request.QueryString("X"))
Else
Altura = 150
End If

If Request.QueryString("Y") <> "" Then
Largura = Convert.ToInt32(Request.QueryString("Y"))
Else
Largura = Altura / 1.3333
End If


Try
g = System.Drawing.Image.FromFile(strFilename)
Catch
g = System.Drawing.Image.FromFile(Application("PATH_FISICO") & "error.jpg")
End Try

' Altera o contentType : Esta página devolve uma imagem
Response.ContentType = "image/jpeg"
' Insere a imagem no objeto response
g.GetThumbnailImage(Altura, Largura, cb, cbd).Save(Response.OutputStream, g.RawFormat)
' destroi o objeto
g.Dispose()
%>


 

 

3. Gere uma imagem como o nome error.jpg

 

Esta imagem é utilizada no caso de a imagem a ser informada não existir.

Pode-se utilizar um GIF transparente no lugar. Neste caso, basta substituir error.jpg no código-fonte do arquivo thumbnail.aspx, e criar um Try / Catch no response.ContentType para "image/gif" ou outro formato qualquer de imagem desejado.

Só não fiz isso porque não me apresentou necessidade no momento!

 

 

 

4.Informe o endereço da imagem

thumbnail.aspx?IMG=arquivos/images/0003.jpg&X=160&Y=75

 

Parâmetros:

IMG: caminho físico da imagem a partir da variável de aplicação.

X: largura da imagem

Y: altura da imagem

 

 

Caso for informado apenas o caminho físico da imagem, a imagem irá receber um tamanho de 150x112 pixels.

Os parâmetros e medidas citadas poderão ser alterados conforme sua necessidade.

A seguir, mais exemplos do thumbnail da imagem...

 
TAGs

ajax arquivo asp boas práticas classe conexão sql connection string cursor location desativar programas erro cs0246 função global.asa global.asax google gráfico include rewriterule upload url amigável url rewrite


2010 - Leonardo Breda