Jump to content


Photo

Deixar Tamanho Padrão Para Toda As Fotos


  • Faça o login para participar
12 replies to this topic

#1 rafa-martin

rafa-martin

    24 Horas

  • Usuários
  • 406 posts
  • Sexo:Não informado

Posted 05/04/2006, 10:15

e aí galerinha blz?

então eu estou fazendo uma espécie de upload. tipo eu tenho esse tipo de campo texto:

<input name="foto_mudar" type="file" class="FormBotao" style="width:250px;">

e tenho um botão chamado upload. quando uma imagem é selecionada e clico em upload eu faço um update da imagem. e para fazer o upload da imagem faço esse code onde não precisa de componentes:

<%
' Upload Sem componentes ---------------------------------------
Sub BuildUploadRequest(RequestBin)
on error resume next

PosBeg = 1
PosEnd = InStrB(PosBeg, RequestBin, getByteString(Chr(13)))
boundary = MidB(RequestBin, PosBeg, PosEnd - PosBeg)
BoundaryPos = InStrB(1, RequestBin, boundary)

Do Until (BoundaryPos = InStrB(RequestBin, boundary & getByteString("--")))

Dim UploadControl
Set UploadControl = CreateObject("Scripting.Dictionary")

Pos = InStrB(BoundaryPos, RequestBin, getByteString("Content-Disposition"))
Pos = InStrB(Pos, RequestBin, getByteString("name="))
PosBeg = Pos + 6
PosEnd = InStrB(PosBeg, RequestBin, getByteString(Chr(34)))
Name = getString(MidB(RequestBin, PosBeg, PosEnd - PosBeg))
PosFile = InStrB(BoundaryPos, RequestBin, getByteString("filename="))
PosBound = InStrB(PosEnd, RequestBin, boundary)

If PosFile <> 0 And (PosFile < PosBound) Then
PosBeg = PosFile + 10
PosEnd = InStrB(PosBeg, RequestBin, getByteString(Chr(34)))
FileName = getString(MidB(RequestBin, PosBeg, PosEnd - PosBeg))
UploadControl.Add "FileName", FileName
Pos = InStrB(PosEnd, RequestBin, getByteString("Content-Type:"))
PosBeg = Pos + 14
PosEnd = InStrB(PosBeg, RequestBin, getByteString(Chr(13)))
ContentType = getString(MidB(RequestBin, PosBeg, PosEnd - PosBeg))
UploadControl.Add "ContentType", ContentType
PosBeg = PosEnd + 4
PosEnd = InStrB(PosBeg, RequestBin, boundary) - 2
Value = MidB(RequestBin, PosBeg, PosEnd - PosBeg)
Else
Pos = InStrB(Pos, RequestBin, getByteString(Chr(13)))
PosBeg = Pos + 4
PosEnd = InStrB(PosBeg, RequestBin, boundary) - 2
Value = getString(MidB(RequestBin, PosBeg, PosEnd - PosBeg))
End If

UploadControl.Add "Value", Value
UploadRequest.Add Name, UploadControl
BoundaryPos = InStrB(BoundaryPos + LenB(boundary), RequestBin, boundary)
Loop
End Sub

Function getByteString(StringStr)
For i = 1 To Len(StringStr)
Char = Mid(StringStr, i, 1)
getByteString = getByteString & ChrB(AscB(Char))
Next
End Function

Function getString(StringBin)
getString = ""
For intCount = 1 To LenB(StringBin)
getString = getString & Chr(AscB(MidB(StringBin, intCount, 1)))
Next
End Function

' Fim upload sem Componentes -----------------------------------------
%>

e determino o caminho da imagem selecionada assim:

' Tipo de arquivo que esta sendo enviado
tipo_foto = UploadRequest.Item("foto").Item("ContentType")

' Caminho completo dos arquivos enviados
caminho_foto = UploadRequest.Item("foto").Item("FileName")

' Nome dos arquivos enviados
nome_foto = Right(caminho_foto,Len(caminho_foto)-InstrRev(caminho_foto,"\"))
nome_foto = Replace(nome_foto,".","_"& rndit &".")

' Conteudo binario dos arquivos enviados
foto = UploadRequest.Item("foto").Item("Value")

' pasta onde as imagens serao guardadas
pasta = Server.MapPath("images/")
nome_foto = "/"&nome_foto

' pasta + nome dos arquivos
cfoto = "images" + nome_foto

' Fazendo o Upload do arquivo selecionado
if foto <> "" then
Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")
Set MyFile = ScriptObject.CreateTextFile(pasta & nome_foto)
For i = 1 to LenB(foto)
MyFile.Write chr(AscB(MidB(foto,i,1)))
Next
MyFile.Close
end if

gostaria de saber se tem como eu definir um tamhão padrão para todas as imagens. Exemplo: eu tenho uma imagem com o tamanho: 1122 x 650 gostaria de deixar 100 x 100 em todas as fotos que eu selecionar. mesmo eu pegando uma imagem menor.

tem como deixar um tamanho padrão para todas?
vlwdeix

#2 Worm

Worm

    Veterano

  • Ex-Admins
  • 1343 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP
  • Interesses:Obter o maximo conhecimento.

Posted 05/04/2006, 10:43

Sim é possivel :D, mas....

Se for ASP terá que usar componentes como o ASPJPeg que é pago e poucos Host's tem o mesmo, se usar .Net pode ser feito importando as bibliotecas necessários ( o que é não é dificil ) e por ultimo ( ufa ) dar o tamanho no HTML direto.


Com o ASPJpeg e .Net vc redimesiona a img proporcionalmente, sendo assim a imagem não fica desproporcional, mas no HTML direto ( <img src="imagem.jpg" width="100" heigth = "100" /> ) dependendo do tamanho da img ela ficará desproporcional e/ou muito esquisita. :D

#3 Paulo Lima Jr

Paulo Lima Jr

    Novato no fórum

  • Usuários
  • 2 posts
  • Sexo:Não informado

Posted 05/04/2006, 11:03

Aproveitando o Topico

Olá Worm, cara sou razoavelmente novo em ASP e ja tentei por varias vezes mostrar as imagens que estao cadastradas no meu BD atravaves do ASP JPG porem ele sempre repete a primeira imagem.

Teria como vc mostrar um codigo de exemplo para a visualização das imagens em redimencionadas ?

Muitissimo obrigado
Paulo Lima Jr.
---------------------------

Web Designer / Web Developer
Blancalion Studio Digital

#4 Worm

Worm

    Veterano

  • Ex-Admins
  • 1343 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP
  • Interesses:Obter o maximo conhecimento.

Posted 05/04/2006, 11:07

Aproveitando o Topico

Olá Worm, cara sou razoavelmente novo em ASP e ja tentei por varias vezes mostrar as imagens que estao cadastradas no meu BD atravaves do ASP JPG porem ele sempre repete a primeira imagem.

Teria como vc mostrar um codigo de exemplo para a visualização das imagens em redimencionadas ?

Muitissimo obrigado



é só a imagem que repete ? os dados não ?

#5 rafa-martin

rafa-martin

    24 Horas

  • Usuários
  • 406 posts
  • Sexo:Não informado

Posted 05/04/2006, 11:19

onde posso conseguir componentes gratutitos?

#6 Paulo Lima Jr

Paulo Lima Jr

    Novato no fórum

  • Usuários
  • 2 posts
  • Sexo:Não informado

Posted 05/04/2006, 11:29

Olá Worm, os dados se repetem porem acho que nao consegui explicar direito.

imagine que tenho 500 registros com fotos tá. tipo um galeria.

essas imagens estão no tamanho original, aó que quando quero mostra-las na pagina monto o recordset e mostro x imagens por pagina. ai é que esta o problema.

ele esta pegando o caminho da primeira imagem e repete para todas as outras sendo que o link para visualização da foto maior fica correto.

deu pra entender ?
Paulo Lima Jr.
---------------------------

Web Designer / Web Developer
Blancalion Studio Digital

#7 Worm

Worm

    Veterano

  • Ex-Admins
  • 1343 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP
  • Interesses:Obter o maximo conhecimento.

Posted 05/04/2006, 11:45

vc está fazendo mais ou menos assim



	  do while not objeto.eof

		 'mostra a img
		 img = objeto("campo")

	 objeto.movenext
	 loop



a variavel img a cada vez que que o loop pasar vai ter o nome de uma img diferente ?

Se sim, é só usar o ASPJEPG e dar os novos tamanhos, se não o loop está errado.

é isso ? :blink:

#8 tathy

tathy

    Normal

  • Usuários
  • 113 posts
  • Sexo:Feminino
  • Localidade:Santos e Praia Grande
  • Interesses:Asp, PHP, JavaScript, HTML, Flash, DreamWeaver, Fireworks, PhotoShop, Delphi...

Posted 05/04/2006, 12:55

Amigo existe um componente gratuito pra redimensionar fotos nao sou muito a favor dele mas como é gratuito é melhor. O nome dele é imager resize, e ele possui uma dll para ser hospedado no ftp, alem disso precisa de algumas configuracoes do provedor como colocar a pasta q esta a dll com execucao de scripts.
Qlq coisa posta ai
beijinhos
Tathy
asp, css, js, flash, fireworks, photoshop, dreamweaver, xml, sql, mysql, access, asp.net!
A vida foi feita pra curtir, curta a vida da sua maneira, eu curto a minha programando!

#9 Operador

Operador

    12 Horas

  • Usuários
  • 228 posts
  • Sexo:Masculino
  • Localidade:Picos - PI

Posted 05/04/2006, 13:36

Usando o aspjeg adiciona esse código, ele redimensiona a imagem e cria uma miniatura, um small.

' Guardamos as fotos em uma váriavel
fotos = rs("Foto")

'Criamos o Objeto
Set Jpeg = Server.CreateObject("Persits.Jpeg")

' aqui selecionamos o caminho e quais fotos serão dimensionadas
Path = Server.MapPath("fotos/") & "\"&fotos

' abrindo codigo da imagem
Jpeg.Open Path

' Definimos os tamanhos que serão gerados os thumbs.
Jpeg.Width = 70
Jpeg.Height = 52

' Gerando o nome dos arquivos de thumbs
fotos_cria = left(fotos, len(fotos) - 4)

' Criamos aqui as fotos menores.
Jpeg.Save Server.MapPath("fotos/") & "\"&fotos_cria&"_small.jpg"

Espero que ajude...

Edição feita por: Operador, 05/04/2006, 13:36.

----------------------------------------------------------------------------
Não sei assinar... ehehehe
----------------------------------------------------------------------------

#10 Worm

Worm

    Veterano

  • Ex-Admins
  • 1343 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP
  • Interesses:Obter o maximo conhecimento.

Posted 05/04/2006, 13:56

Amigo existe um componente gratuito pra redimensionar fotos nao sou muito a favor dele mas como é gratuito é melhor. O nome dele é imager resize, e ele possui uma dll para ser hospedado no ftp, alem disso precisa de algumas configuracoes do provedor como colocar a pasta q esta a dll com execucao de scripts.
Qlq coisa posta ai
beijinhos
Tathy



Nunca ouvi falar nesse componente. :P

Sabe onde posso encontralo ?

#11 replay

replay

    Agora a vida começa...

  • Usuários
  • 421 posts
  • Sexo:Não informado

Posted 05/04/2006, 23:40

tem essa lista com alguns componentes pagos e alguns (muito poucos) gratuitos...

http://www.aspobject...cat3=300&page=1

valeu :P
Não me adicione no MSN pq eu não vo te ajuda... se insistir eu vo ser grosso!!!
Ta com dúvida pergunta aqui no fórum...
Grato

#12 Worm

Worm

    Veterano

  • Ex-Admins
  • 1343 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP
  • Interesses:Obter o maximo conhecimento.

Posted 06/04/2006, 09:44

tem essa lista com alguns componentes pagos e alguns (muito poucos) gratuitos...

http://www.aspobject...cat3=300&page=1

valeu :P



O site não funciona direito. :(

#13 replay

replay

    Agora a vida começa...

  • Usuários
  • 421 posts
  • Sexo:Não informado

Posted 06/04/2006, 10:08

deve tar passando por algum problema tecnico no host pq ate onte, tava funcionando...

Valeu :P
Não me adicione no MSN pq eu não vo te ajuda... se insistir eu vo ser grosso!!!
Ta com dúvida pergunta aqui no fórum...
Grato




2 user(s) are reading this topic

0 membro(s), 2 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq