Com esta função é possível Redimencionar uma imagem e depois fazer um Crop utilizando o componente da Persits o ASPJpeg.
A vantagem desta função é que ela verifica qual é a melhor proporção para fazer o Crop, verificando a largura e a altura da imagem.
<% '----------------------------------------------------- '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 '-------------------------------------------------------- %>