Ir para conteúdo

POWERED BY:

Arquivado

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

alexandroferreira

[Resolvido] Altura x Largura

Recommended Posts

Pessoal,

 

Fiquei a manhã pesquisando um código ASP que me informe os dados de altura e largura de uma determinada imagem, mas não achei nada.

 

Por isso, pergunto se alguém sabe como fazer isso no ASP...

 

 

Grato desde já.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá alexandro,

 

Já deu uma olhada no site da aspjpeg.com? lá tem uns exemplos bem legais.

 

Veja esse link: Clique aqui

 

Espero ter ajudado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Peguei esse código na net que informa altura e largura da imagem, mas agora preciso fazer uma adaptação para o código ler as imagens vindas de um bd. Por exemplo:

 

Seleciono um determinado evento no bd onde irão aparecer algumas imagens, agora preciso que o código me passe as informações da altura e largura das imagens. É através de case?

 

Segue o código:

 

<%
' Cria uma instância do controle
Set ImageSize = Server.CreateObject("ImgSize.Check")
' Carrega a imagem
ImageSize.FileName = Server.MapPath("professor_saulo.jpg")

If (ImageSize.Error = "") Then
  Response.Write "Largura: " & ImageSize.Width & "<br />"
  Response.Write "Altura: " & ImageSize.Height & "<br />"
Else
  Response.Write "Erro: " & ImageSize.Error
End If
' Tira o objeto da memória
Set ImageSize = Nothing
%>

Como fazer que esse código leia as imagens que selecionei no bd?

 

Grato desde já.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Neste exemplo acima é necessaário ter o componente instalado no servidor.

 

Velho, a coisas que não precisam nem ser perguntadas, basta pesquisar, tem um exelente script em fso, basta procurar.

 

http://www.google.com.br/search?hl=pt-BR&q=pegar+altura+e+largura+imagem+asp&aq=f&aqi=&aql=&oq=&gs_rfai=

 

Várioooooooooooooooooooooooooooooossssss exemplos.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

se tiver o Persits.Jpeg use assim:

 

Set objJpeg = Server.CreateObject("Persits.Jpeg")
objJpeg.Open Server.MapPath("../SmartUpload/" & Imagem)
Altura = objJpeg.OriginalHeight
Largura = objJpeg.OriginalWidth

ou

 

Sub GetJpegDims(ByVal strFileName, ByRef lngHeight, ByRef lngWidth)
    on error resume next
    Dim stmFile
    set stmFile = server.createobject("ADODB.Stream")
    Dim bytArr(256)
    dim byt
    Dim intPos
    With stmFile
        .Type = adTypeBinary
        .Open
        .LoadFromFile strFileName
        .Position = 0
        
        for intPos = 0 to 255
            .position = intpos
            bytArr(intPos) = ascb(.Read(1))
        next
        .Close
    End With
    Set stmFile = Nothing
    
    For intPos = 0 To 255
        If bytArr(intPos) = &HFF And bytArr(intPos + 1) >= &HC0 _
                         And bytArr(intPos + 1) <= &HCF Then
            lngHeight = bytArr(intPos + 5) * 256 + bytArr(intPos + 6)
            lngWidth = bytArr(intPos + 7) * 256 + bytArr(intPos + 8)
            Exit For
        End If
    Next 
End Sub

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dentro de uma comunidade (fórum), tenho o direito de perguntar o que quiser, ou não?

Não é essa uma das finalidades de um fórum?

 

Obrigado.

 

Pode perguntar aqui no Fórum sim alexandroferreira, com certeza iremos responder. Mas pesquisar pode ajudar você a encontrar mais rápido as respostas.

 

O código que o xanburzum postou utilizando AspJpeg é bom, pois é um componente que a maioria dos servidores tem em comum.

 

Utilizando FSO, conforme sugerido pelo Patrique, também funciona, mas a execução me pareceu mais lenta, se comparando com AspJpeg.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera,

 

é o seguinte: estou quase chegando lá...rs

estou utilizando o código abaixo, ele está lendo as imagens no banco (que são 4 imagens), no entanto, ele está retornando os mesmos valores para as imagens. No banco eu possuo 3 imagens com as dimensões 603 x 453 e uma com 413 x 550.

 

Segue o código:

<!--#include file="bib_conexao.asp"-->

<%
Dim  rs, sql, conexao, varfoto, ims

Call abre_conexao
sql= "Select * FROM tb_fotos_centro"

Set rs = Conexao.Execute(sql)
varfoto = rs("fotocen")

%>

<%
' Cria uma instância do controle
Set ImageSize = Server.CreateObject("ImgSize.Check")

If (ImageSize.Error = "") Then

while Not rs.EOF
' Carrega a imagem
ImageSize.FileName = Server.MapPath("../" & varfoto)


  Response.Write "Largura: " & ImageSize.Width & "<br />"
  Response.Write "Altura: " & ImageSize.Height & "<br />"
rs.MoveNext
wend
  Else
  Response.Write "Erro: " & ImageSize.Error
End If
' Tira o objeto da memória

rs.Close
Set rs = Nothing
Set ImageSize = Nothing
Call fecha_conexao
%>

Vejam o que está acontecendo no link:

http://www.pianoacordeon.com.br/fckeditor/ima.asp

 

Grato a todos desde já.

Compartilhar este post


Link para o post
Compartilhar em outros sites

varfoto = rs("fotocen") tem que ficar do do WHILE.

Compartilhar este post


Link para o post
Compartilhar em outros sites

É isso mesmo moderador geral. Obrigado pela ajuda de todos vocês.

Segue o código final e link para quem quiser ver o código funcionando. Mais uma opção para pegar as dimensões de imagens em BD. Pode finalizar o tópico.

 

ia uma instância do controle
Set ImageSize = Server.CreateObject("ImgSize.Check")

If (ImageSize.Error = "") Then

Do while Not rs.EOF
varfoto = rs("fotocen")
' Carrega a imagem
ImageSize.FileName = Server.MapPath("../" & varfoto)


  Response.Write "Largura: " & ImageSize.Width & "<br />"
  Response.Write "Altura: " & ImageSize.Height & "<br />"
rs.MoveNext
Loop
  Else
  Response.Write "Erro: " & ImageSize.Error
End If
' Tira o objeto da memória

rs.Close
Set rs = Nothing
Set ImageSize = Nothing
Call fecha_conexao
%>

Link: http://www.pianoacordeon.com.br/fckeditor/ima.asp

 

 

Grato a todos mais uma vez!!!

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.