Ir para conteúdo
Fórum Script Brasil
  • 0

Capturar tamanho da imagem escolhida.


KaKarotto

Pergunta

Esses dias apareceu uma dúvida no fórum de como verificar as dimensões da imagem antes de mandar para o servidor.

Eu achei interessante a dúvida e resolvi postar aqui um código que fiz para terem uma idéia de como fazer.

function //{  
    verifyImage    (url, fn, target)
        {    
            // É imagem?
                if( !url.match(/.*\.(jpg|png|bmp|gif)/) )
                return alert("Não é imagem")
                
            var img = document.createElement("img")
            img.src = url + "?" + Math.random()
                // Objeto usado para mostrar o texto de carregar //
                var loading = document.getElementById("loading")
                loading.innerHTML = "Recebendo dados..."
                target.innerHTML = "" // Refresh no conteúdo         
                
            // Ao ser carregada a imagem chamará a função passada como argumento e 
            // após isso removerá o texto carregando da tela.
            img.onload = function(){ fn.call(this, this); loading.innerHTML = "" }
        }
//}
Este é o código que fará a mágica. E a implementação:
<span id="loading"></span>
<input type="text" id="url" name="url" />
<button id="go">Verificar imagem</button>
<div id="preview"></div>
window.onload=function(){
    var url = document.getElementById("url")
    var but = document.getElementById("go")
    
    but.onclick = function(){
        verifyImage(url.value, function(img){
            document.getElementById("preview").innerHTML = (
                "<p>Url: <span>"+ img.src.replace(/(\?.*\d)/,"") +"</span></p>" +
                "<p>Altura: <span>"+ img.width +" <small>px</small></span></p>" +                
                "<p>Largura: <span>"+ img.height +" <small>px</small></span></p>"                
            )
            
        }, document.getElementById("preview") )
    }    
}

A verifyImage geralmente não muda, então caso queira alterar o código para alguns fins mais específicos, altere os códigos da implementação.

Qualquer dúvida ou sugestão, poste aqui.

Deixei um exemplo pronto para quem quiser testar.

Abraço

teste.htm

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...