<%
'-----------------------------------------------------
'Funcao: ResizeCropImagem(ByVal CaminhoImagem, ByVal Largura, ByVal Altura)
'Sinopse: Faz um Resize e Crop na imagem
'Parametros:
' CaminhoImagem: Caminho Completo da Imagem
' Largura
' Altura
'Retorno: String ("OK" quando for executada com sucesso)
'Autor: Gabriel Fróes - www.codigofonte.com.br
'-----------------------------------------------------
Function ResizeCropImagem(ByVal CaminhoImagem, ByVal Largura, ByVal Altura)
'Declarando e inicializando as variaveis e objetos
Dim objJpeg
Dim objUpload
Dim X1
Dim Y1
On Error Resume Next
'----------------------------------------
'Realizando o tratamento da imagem
'----------------------------------------
X1 = Largura
Y1 = Altura
Set objJpeg = Server.CreateObject("Persits.Jpeg")
Call objJpeg.Open(CaminhoImagem)
'Tipo de redimencionamento
objJpeg.Interpolation = 2 '0=Baixa 1=Média 2=Alta Qualidade
'Verificando a proporção da imagem
If objJpeg.OriginalWidth < objJpeg.Height Then
objJpeg.Width = Largura
objJpeg.Height = objJpeg.OriginalHeight * objJpeg.Width / objJpeg.OriginalWidth
Y1 = Altura
Else
objJpeg.Height = Altura
objJpeg.Width = objJpeg.OriginalWidth * objJpeg.Height / objJpeg.OriginalHeight
X1 = Largura
End If
Call objJpeg.Crop(0,0,X1,Y1)
'Definindo a qualidade
objJpeg.Quality = 90
'Salvando o arquivo no servidor
Call objJpeg.Save(CaminhoImagem)
Set objJpeg = Nothing
'----------------------------------------
'Retornando a função
If Err.number = 0 Then
ResizeCropImagem = "OK"
Else
ResizeCropImagem = Err.Description
Err.Clear()
End If
End Function
'--------------------------------------------------------
'EXEMPLO DE CHAMADA
'--------------------------------------------------------
Dim Caminho
Dim Retorno
Caminho = Server.MapPath("imagemfake.gif")
Retorno = ResizeCropImagem(Caminho, 150, 150)
If Retorno = "OK" Then
Response.Write "Imagem redimencionada com sucesso!"
Else
Response.Write Retorno
End If
'--------------------------------------------------------
%>