quarta-feira, 17 de março de 2010

Modificando Fotos no ASP - ASPJpeg

Nesse tutorial vou ensinar um truque legal para modificar-mos fotos aumentando e diminuindo seu tamanho

Um erro comum entre os Web designers é que as vezes quando puxamos uma imagem de um banco de dados queremos utiliza-las diversas vezes como Thumbnai, só que acabamos modificando o tamanho na tag IMG, e isso gera 2 problemas
  •  Imagem pequena, porém que leva muito tempo para carregar
  • Queda de definição pois a imagem acaba sendo totalmente apertada

A solução é simples se chama AspJpeg


Porém é necessário que vocês vejam se esse componente está instalado no servidor porque senão não vai funcionar.


OK Vamos Começar


crie um arquivo chamado jpgResize.asp e coloque o seguinte código.

<%
'arquivo é a variavel que levara o diretorio do arquivo, lembre-se que deve ser o diretório fisico e não o virtual
arquivo = request.QueryString("arquivo")


'W é largura
w = request.QueryString("w")


'H é altura
h = request.QueryString("h")

'Criando o thumbnail:
Set Jpeg = Server.CreateObject("Persits.Jpeg")

'Caminho da Imagem
Path = server.MapPath(arquivo)

'Busca a Imagem
Jpeg.Open Path

'Especifica o tamanho da imagem
Jpeg.Width = w
Jpeg.Height = h

'Esse método é opcional, usado para melhorar o visual da imagem
Jpeg.Sharpen 1, 150


'Para enviar o thumbnail para o browser do cliente utilize o método SendBinary:
Jpeg.SendBinary
%>

Pronto esse arquivo acima irá gerar a imagem solicitada, agora iremos a página que exibe essa imagem e coloquemos a seguinte tag IMG

<img src="jpegResize.asp?arquivo=fotos\imagem.jpg&w=300&h=100>

A tag acima ira pegar a imagem01.jpg que esta na pasta fotos do diretório atual e colocara com 300px de largura e 100px de altura.

Percebam que a tag imagem recebe como imagem o arquivo jpgResize.asp e ao mesmo tempo envia pelo metodo GET os parametros, do meu ponto de vista mais facil e simples do que criar uma função. Além de proteger a imagem contra cópia.

A partir daqui você pode pegar o diretorio da foto a partir de um recordset


<img src="jpegResize.asp?arquivo=<%=fotos("foto")%>&w=300&h=100>

Pesquise por ASPJpeg e saiba outras funções desse componente









Nenhum comentário: