Ir para conteúdo

POWERED BY:

Arquivado

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

ricardo coelho designer

Redimensionar Imagem Grande e Cadastrar em BD

Recommended Posts

Bom dia! Estou utilizando o código abaixo, mas não tenho muito conhecimento em .aspx. bom o que estou precisando da ajuda de vcs é o seguinte:

 

- Que a imagem original não ultrapasse as dimensões de 350 x 300

- Cadastrar no banco de dados

 

<%@ Page Trace="False" Language="vb" aspcompat="false" debug="true" validateRequest="false"%>
<%@ Import Namespace=System.Drawing %>
<%@ Import Namespace=System.Drawing.Imaging %>
<%@ Import Namespace=System %>
<%@ Import Namespace=System.Web %>

<script LANGUAGE="VBScript" runat="server">
const Lx = 212 ' Largura máxima de miniaturas
const Ly = 192 ' Altura máxima de miniaturas
const upload_dir = "teste/" ' diretório para fazer o upload de arquivos
const upload_original = "sample" ' O nome do arquivo para guardar como original (sufixo acrescentado pelo script)
const upload_thumb = "thumb" ' nome do arquivo para salvar as miniaturas (sufixo acrescentado pelo script)
const upload_max_size = 250 ' Tamanho máximo do upload (KB) nota: para não sobrecarregar o servidor definimos o tamanho do upload
dim fileExt ' usado para armazenar a extensão do arquivo (economiza-se com mulitple vezes)
dim newWidth, newHeight as integer ' nova largura / altura para a miniatura
dim l2 ' temp variáveis usadas no cálculo nova dimensão
dim fileFld as HTTPPostedFile ' utilizados para capture carregar o arquivo a partir do formulário
Dim originalimg As System.Drawing.Image ' usado para deter a imagem original
dim msg ' exibir resultados
dim upload_ok as boolean ' fez o upload trabalho?
</script>
<%
randomize() ' utilizados para ajudar o cache-rebentando sobre o preview imagens
upload_ok = false
if lcase(Request.ServerVariables("REQUEST_METHOD"))="post" then
fileFld = request.files(0) ' obter o primeiro arquivo carregado a partir do form (nota: - você pode usar esse recurso para itterate através de mais de uma imagem)
if fileFld.ContentLength > upload_max_size * 1024 then
msg = "Desculpe, a imagem deve ser menor que " & upload_max_size & "Kb"
else
try
originalImg = System.Drawing.Image.FromStream(fileFld.InputStream)
'exercitar-se a largura / altura para a miniatura. Preserve aspecto ratio e a honra max largura / altura
'Observação: se o original é menor do que o tamanho miniatura, será redimensionado
If (originalImg.Width/Lx) > (originalImg.Width/Ly) Then
L2 = originalImg.Width
newWidth = Lx
newHeight = originalImg.Height * (Lx / L2)
if newHeight > Ly then
newWidth = newWidth * (Ly / newHeight)
newHeight = Ly
end if
Else
L2 = originalImg.Height
newHeight = Ly
newWidth = originalImg.Width * (Ly / L2)
if newWidth > Lx then
newHeight = newHeight * (Lx / newWidth)
newWidth = Lx
end if
End If

Dim thumb As New Bitmap(newWidth, newHeight)

'Criar um objeto gráficos
Dim gr_dest As Graphics = Graphics.FromImage(thumb)

' só no caso trata-se de um GIF transparente vigor para o bg branco
dim sb = new SolidBrush(System.Drawing.Color.White)
gr_dest.FillRectangle(sb, 0, 0, thumb.Width, thumb.Height)

'Re-dimensiona a imagem para a largura e altura especificado
gr_dest.DrawImage(originalImg, 0, 0, thumb.Width, thumb.Height)

try
fileExt = System.IO.Path.GetExtension(fileFld.FileName).ToLower()
originalImg.save(Server.MapPath(upload_dir & upload_original & fileExt), originalImg.rawformat)
thumb.save(Server.MapPath(upload_dir & upload_thumb & fileExt), originalImg.rawformat)
msg = "Uploaded " & fileFld.FileName & " to " & Server.MapPath(upload_dir & upload_original & fileExt)
upload_ok = true
catch
msg = "Desculpe, ocorreu um problema ao salvar a imagem."
end try
' Câmara para manter as miniatura geradas
if not thumb is nothing then
thumb.Dispose()
thumb = nothing
end if
catch
msg = "Lamentamos, mas não era essa a imagem que poderíamos processo."
end try
end if

' Mantendo Casa !
if not originalImg is nothing then
originalImg.Dispose()
originalImg = nothing
end if

end if
%>
<html>
<head>
<title>ASP.NET File Upload and Resize Sample</title>
<META NAME="Description" CONTENT="ASP.NET File Upload and Resize Sample (Hybrid VB.NET)">
<META NAME="Keywords" CONTENT="ASP.NET, ASP, NET, VB, VBScript, Image, Upload, Resize, Thumbnail, Constrain, Filesize, File, Size, Free">
<META NAME="Copyright" CONTENT="Rufan-Redi Pty Ltd 2005">
<META NAME="Author" CONTENT="System developed by Jeremy at http://www.Rufan-Redi.com">
</head>
<body>

<p><b>Hybrid ASP.NET File Upload and Resize Sample (VB.NET)</b>
<br>Carregar e uma redimensione GIP / GPC / PNG, garantindo arquivo os tamanhos são ótimas.</p>

<form enctype="multipart/form-data" method="post" runat="server">
<table>
<tr><td>Selecione o arquivo para upload:</td><td><input type="file" name="upload_file"></td></tr>
<tr><td colspan=2>Tamanho máximo do upload  <%=upload_max_size%>Kb, gif/jpg/png somente</td></tr>
<tr><td colspan=2><input type="submit" value="Upload"></td></tr>
</table>
</form>

<%
if upload_ok then
%>
<table>
<tr>
<td valign=top><img src="<%=upload_dir & upload_original & fileExt & "?" & rnd()%>"></td>
<td valign=top><img src="<%=upload_dir & upload_thumb & fileExt & "?" & rnd()%>"></td>
</tr>
</table>
<%
else
response.write(msg)
end if
%>
</body>
</html>

Lembrando que esse código não é meu foi retirado do link http://www.webly.com.br/tutorial/net/3954/...o-de-imagem.htm.

 

Estou com essa necessidade descrita a cima e creio que possa vir a ser útil para outros usuário acredito que possam nos ajudar.

 

Agradeço desde já a colaboração de vcs.

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.