Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

xanburzum

[Resolvido] O componente AspJpeg

Recommended Posts

O componente AspJpeg que permite a manipulação de imagens GIF, JPEG e PNG através de linhas de comando em sua programação ASP.

 

Abaixo, um formulário de Upload, informações sobre o componente você pode encontrar em: aspjpeg e o Manual completo aqui.

 

 

Temos 4 arquivos. sendo eles pick_jpeg.asp, upload_jpeg.asp, send_binary.asp e thumbnail.asp.

 

O pick_jpeg.asp é usado oara fazer o upload da imagem.

 

pick_jpeg.asp : 


<html>
<head>
<title>Form Upload</title>
</head>
<body>
<table>
<tr>
<td>
<h3>AspJpeg</h3>
<font size="2">Selecione uma imagem em seu computador, para criar thumbnails. Faça o upload para o Servidor através do formulário abaixo. Assim que o upload da imagem estiver concluído, você terá várias opções de redimensionamento disponíveis.</font>
<form action="upload_jpeg.asp" method="post" enctype="multipart/form-data">
<table border="1" cellspacing="0" cellpadding="2">
<tr>
<td bgcolor="#E0FFF0" align="center">
<font face="Arial" size="2" color="#000000"><b>Selecione uma imagem</b></font>
</td>
</tr>
<tr>
<td bgcolor="#EEEEEE">
<input type="file" NAME="myFile" size="40">
</td>
</tr>
<tr>
<td bgcolor="#EEEEEE">
<input type="submit" value="Publicar Imagem">
</td>
</tr>
</table>
</form>
</td>
</tr>
</table>
</body>
</html>

O arquivo upload_jpeg.asp, verifica se a imagem está no formato e resolução correta, para liberar a opção de modificação no tamanho da imagem, exibe também o caminho dessa imagem, tamanho (em bytes) e dimensão (em pixels).

 

 

upload_jpeg.asp:

 

 

<html>
<head>
<title>Upload</title>
</head>
<body bgcolor="#FFFFFF">
<%
Set Upload = Server.CreateObject("Persits.Upload")
Upload.OverwriteFiles = False
Upload.SetMaxSize 9999999, true
On Error Resume Next 
Count = Upload.Save("X:\web\xanburzum\www\diretorio\upload")
If Err <> 0 or Count = 0 Then
%>
<font size="3" face="Arial" color="#FF0000"><b><% If Err <> 0 Then Response.Write "Um erro ocorreu" & Err.Description Else Response.Write "Nada foi enviado."%></b></font>
<p>
<font size="2" face="Arial"><a href="pick_jpeg.asp">Tente de novo</a>.</font>
<% 
Else
On Error Goto 0
Set File = Upload.Files(1)
If File.Imagetype = "UNKNOWN" Then
File.Delete
%>
<font size="3" face="Arial" color="#FF0000"><b>Esta não é uma imagem válida</b></font>
<p>
<font size="3" face="Arial"><a href="pick_jpeg.asp"><font size="2">Tente de novo</font></a>.</font> 
<% Else
%>
<font size="2" face="Arial">
<b>A seguinte imagem <% = File.Imagetype%> foi enviada:</b>
<p>
<table cellspacing="0" cellpadding="2" border="1">
<tr>
<td>
<font size="2" face="Arial"><b>Path:</b></font>
</td>
<td>
<font size="2" face="Arial"><% = File.OriginalPath %></font>
</td>
</tr>
<tr>
<td>
<font size="2" face="Arial"><b>Tamanho:</b></font>
</td>
<td>
<font size="2" face="Arial"><% = File.Size %> bytes</font>
</td>
</tr>
<tr>
<td>
<font size="2" face="Arial"><b>Dimensão:</b></font>
</td>
<td>
<font size="2" face="Arial"><% = File.ImageWidth %> x <% = File.ImageHeight %> pixels</font>
</td>
</tr>
</table>
<p>
<form action="thumbnail.asp" method="get">
<input type="hidden" name="Path" value="<% = File.Path%>">
<input type="hidden" name="Height" value="<% = File.ImageHeight %>">
<input type="hidden" name="Width" value="<% = File.ImageWidth %>">
<input type="hidden" name="scale" value="50">
<input type="hidden" name="NewWidth" value="100">
<input type="hidden" name="NewHeight" value="100">
<input type="hidden" name="ResizeOption" value="1">
<input type="hidden" name="Quality" value="1">
<input type="hidden" name="Sharpen" value="">
<input type="hidden" name="Sharpenvalue" value="130">
<input type="hidden" name="Rotate" value="0">
<input type="submit" value="Continue..."> 
</form>
<p>
<img src="/diretorio/<% = File.ExtractFilename %>">
<p>
<font size="2" face="Arial"><a href="pick_jpeg.asp">Enviar outra imagem</a></font>
</font>
<%
End If
End If
%>
</body>
</html>

send_binary.asp :

 

<%
Response.Expires = 0
' criar instância de AspJpeg
Set jpg = Server.CreateObject("Persits.Jpeg")
' Abrir arquivo
jpg.Open( Request("path") )
' Ajuste redimensionamento
jpg.Interpolation = Request("Interpolation")
' Definir a nova altura e largura
jpg.Width = Request("Width")
jpg.Height = Request("Height")
' Sharpen imagem resultante
If Request("Sharpen") <> "0" Then 
jpg.Sharpen 1, Request("SharpenValue")
End If
' Rotacionar, se necessário. 
If Request("Rotate") = 1 Then jpg.RotateL
If Request("Rotate") = 2 Then jpg.RotateR
'Fazer redimensionamento e 
'Enviar imagem resultante para o navegador
jpg.SendBinary
%>

 

E último arquivo,thumbnail.asp. o qual gerencia o redimensionamento das imagens de acordo com sua necessidade.

 

<html>
<head>
<title>Thumbnails</title>
</head>
<body bgcolor="#FFFFFF">
<font face="Arial" size=2"><b>A dimensão original da imagem é <% = Request("Width") %> x <% = Request("Height") %></b></font>
<p>
<font size="2" face="Arial"><a href="pick_jpeg.asp">Enviar outra imagem</a></font>
<p>
<form action="thumbnail.asp" method="post" name="Mainform">
<input type="hidden" name="Path" value="<% = Request("Path") %>">
<input type="hidden" name="Width" value="<% = Request("Width") %>">
<input type="hidden" name="Height" value="<% = Request("Height") %>">
<table bgcolor="#E0FFF0" border="1" cellspacing="0" cellpadding="2">
<tr>
<td>
<input type="radio" name="Resizeoption" value="1" <% If Request("Resizeoption") = "1" Then Response.Write "checked" %>><font size="2" face="Arial">Escala de</font>
</td>
<td>
<select name="scale" onfocus="document.Mainform.Resizeoption[0].checked = true">
<option value="200" <% If Request("scale") = "200" Then Response.Write "selecionado" %>>200%
<option value="80" <% If Request("scale") = "80" Then Response.Write "selecionado" %>>80%
<option value="50" <% If Request("scale") = "50" Then Response.Write "selecionado" %>>50%
<option value="25" <% If Request("scale") = "25" Then Response.Write "selecionado" %>>25%
<option value="10" <% If Request("scale") = "10" Then Response.Write "selecionado" %>>10%
</select>
</td>
</tr>
<tr>
<td>
<input type="radio" name="Resizeoption" value="2" <% If Request("Resizeoption") = "2" Then Response.Write "checked" %>><font size="2" face="Arial">Defina a largura</font>
</td>
<td>
<input type="text" name="NewWidth" size="5" value="<% = Request("NewWidth")%>" onfocus="document.Mainform.Resizeoption[1].checked = true"> <font size="2" face="Arial">pixels, preservar Largura / Altura </font>
</td>
</tr>
<tr>
<td>
<input type="radio" name="Resizeoption" value="3" <% If Request("Resizeoption") = "3" Then Response.Write "checked" %>><font size="2" face="Arial">Defina a altura</font>
</td>
<td>
<input type="text" name="NewHeight" size="5" value="<% = Request("NewHeight")%>" onfocus="document.Mainform.Resizeoption[2].checked = true"> <font size="2" face="Arial">pixels, preservar Largura / Altura</font>
</td>
</tr>
<tr>
<td colspan="1">
<input type="checkbox" name="Quality" <% If Request("Quality") <> "" Then Response.Write "checked" %>><font size="2" face="Arial">Alta Qualidade</font>
</td>
<td colspan="1">
<input type="checkbox" name="Sharpen" <% If Request("Sharpen") <> "" Then Response.Write "checked" %>>
<font size="2" face="Arial">Sharpen em</font>
<input type="text" size="4" name="Sharpenvalue" value="<% = Request("Sharpenvalue")%>" onfocus="document.Mainform.Sharpen.checked = true">
<font size="2" face="Arial">% (deve ser > 100)</font>
</td>
</tr>

<tr>
<td colspan="2" align="center">
<font size="2" face="Arial">
<input type="radio" name="Rotate" value="1" <% If Request("Rotate") = "1" Then Response.Write "checked" %>> 
Girar para a esquerda
<input type="radio" name="Rotate" value="0" <% If Request("Rotate") = "0" Then Response.Write "checked" %>>
Sem rotação
<input type="radio" name="Rotate" value="2" <% If Request("Rotate") = "2" Then Response.Write "checked" %>>
Girar para a direita</font>
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" name="create" value="Create Thumbnail">
</td>
</tr>
</table>
</form>
<p>
<%
If Request("Create") <> "" Then
Path = Request("Path")
If Request("Quality") <> "" Then
Interpolation = 1 ' utilização interpolação bilinear
Else
Interpolation = 0 ' utilização algoritmo Nearest-neighbor 
End If
If Request("Sharpen") <> "" Then
Sharpen = "1"
Sharpenvalue = Request("Sharpenvalue")
If Sharpenvalue <= 100 Then
Response.Write "<font face=""Arial""><b>Sharpening valor deve ser superior a 100</b></font>"
Response.End
End If
Else 
Sharpen = "0"
End If
' redimensionar de acordo com a seleção do usuário  
If Request("Resizeoption") = 1 Then
Scale = Request("scale") / 100
Height = Request("Height") * Scale
Width = Request("Width") * Scale
End If
' user-specified width
If Request("Resizeoption") = 2 Then
If IsNumeric(Request("NewWidth")) Then Width = Request("NewWidth") Else Width = 0
If Width > 0 and Width < 2000 Then
Height = Request("Height") * Width / Request("Width")
Else
Response.Write "<font face=""Arial""><b>Largura valor inválido</b></font>"
Response.End
End If
End If

If Request("Resizeoption") = 3 Then
If IsNumeric(Request("NewHeight")) Then Height = Request("NewHeight") Else Height = 0
If Height > 0 and Height < 2000 Then
Width = Request("Width") * Height / Request("Height")
Else
Response.Write "<font face=""Arial""><b>Altura valor inválido</b></font>"
Response.End
End If
End If
Rotate = Request("Rotate")
' mostrar imagem
%>
<img src="send_binary.asp?Path=<% = Server.URLEncode(Path) %>&Width=<% = Width%>&Height=<% = Height %>&Interpolation=<% = Interpolation %>&sharpen=<% = Sharpen %>&sharpenvalue=<% = Sharpenvalue%>&Rotate=<% = Rotate %>">
<%
End If
%>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.