Eric Freitas Postado Julho 24, 2008 Denunciar Share Postado Julho 24, 2008 pessoal, como eu faço pra descobrir a altura/largura de uma imagem sendo q esta não possui os atributos width e height?Desde já ObrigadoAtt. Eric Rodrigo de Freitas Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fercosmig Postado Julho 24, 2008 Denunciar Share Postado Julho 24, 2008 como assim não possui os atributos width e height?function verifica_imagem(){ myImage = new Image(); myImage.src = 'imagens/imagem1.jpg'; largura = parseInt(myImage.width); altura = parseInt(myImage.height); alert(largura + '\n\n' + altura); } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Eric Freitas Postado Julho 24, 2008 Autor Denunciar Share Postado Julho 24, 2008 fercosmigeu tive q usar tua função dentro do php então fiz assim:function verifica_imagem(url){ myImage = new Image(); myImage.src = url; largura = parseInt(myImage.width); altura = parseInt(myImage.height); alert(largura + '\n\n' + altura); } // PHP ... $retornarImg.= " window.onload = window.parent.verifica_imagem('$filename');"; ...o que eu preciso é saber o tamanho para calcular o tamanho que a div vai ficarna url o php passa aurl completa do arquivo, mas ele me retorna altura e largura = 0sabe onde eu posso pegar uma referencia desse objeto para eu poder dar uma estudada ?-----respondendo sua pergunta: ele não possui esses atributos na tag img Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fercosmig Postado Julho 24, 2008 Denunciar Share Postado Julho 24, 2008 cara...eu fiz uma página de upload de imagens aqui na empresa e uso esta função para verificar a dimensão das imagens... geralmente a 1ª vez que eu tento fazer o upload o tamanho vem 0 da segunda vez em diante vem o tamanho da imagemmuito esquisito... não descobri porque e não tá dando tempo de eu correr atras... sendo assim.. estou tendo que me acostumar com isso... até a hora que eu ficar com raiva ahahahhaolha a função que eu uso aqui (chamo ela no onSubmit do form):function verifica_imagem(){ myImage = new Image(); myImage.src = document.frm1.fl1.value; largura = parseInt(myImage.width); altura = parseInt(myImage.height); if( largura > 95 || largura < 20 || altura > 95 || altura < 20 ){ mensagem = 'Imagem fora do tamanho especificado.\n'; mensagem = mensagem + 'largura/altura devem estar entre 20 e 95px'; alert(mensagem); return false; } }object Image() => http://www.devguru.com/technologies/javascript/10699.asp Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Eric Freitas Postado Julho 24, 2008 Autor Denunciar Share Postado Julho 24, 2008 essa função verifica o tamanho da img no pc da pessoa?muito estranho mesmo! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fercosmig Postado Julho 24, 2008 Denunciar Share Postado Julho 24, 2008 sim, ela verifica as dimensões da imagem antes do usuário fazer o upload da mesma. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Eric Freitas Postado Julho 24, 2008 Autor Denunciar Share Postado Julho 24, 2008 modifiquei a função e ela sempre me retorna 0 independente da vez q to mandando vou dar uma olhada ali no site q me passou se eu descobrir a resposta eu passo ae.E muito obrigado fercosmig Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 brunocasado Postado Julho 25, 2008 Denunciar Share Postado Julho 25, 2008 (editado) eric já tentou usar o getimagesize do php?não sei se intendi muito bem sua duvida mas eu criei uma funçaozinha com php e javao php recebe as dimensoes e joga na função java<?php $id = $_GET['id']; $query_img = mysql_query("SELECT * from categ where id_categ=$id"); $query_result = mysql_fetch_row($query_img); $image[0] = getimagesize("$query_result[5]"); $image[1] = getimagesize("$query_result[6]"); $x[0] = $image[0][0]; $y[0] = $image[0][1]; $x[1] = $image[1][0]; $y[1] = $image[1][1]; ?><script language="JavaScript" type="text/javascript">function Detalhes1(url){window.open(url, '_blank', "width=<?php echo $x[0] ?>,height=<?php echo $y[0];?>,toolbar=no,location=no,directories=no,status=no");}function Detalhes2(url){window.open(url, '_blank', "width=<?php echo $x[1] ?>,height=<?php echo $y[1];?>,toolbar=no,location=no,directories=no,status=no");}</script> Editado Julho 25, 2008 por brunocasado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 KaKarotto Postado Julho 26, 2008 Denunciar Share Postado Julho 26, 2008 Senhores, vou viajar.Acho que acontece um lag. As funções terminam sempre antes de começar outro comando, mas só as funções e alguns comandos.Quando vocês criam uma imagem e pegam seus atributos, a imagem é criada com sucesso, porém na sua criação os atributos são primeiramente setados pelo interpretador e depois são lidos. Isso demora um tempo e antes disso acontecer vocês atribuem o valor às respectivas variáveis. Então, dá pra presumir que ao criar uma imagem, o interpretador seta primeiro com 0 os atributos do tipo Number.Solução ( eu acho ):<input type="file" id="arquivo" name="arquivo" /> window.onload=function(){ var arq=document.getElementById("arquivo") arq.onchange=function(){verificaTamanho(this.value)} function verificaTamanho(src){ var img=document.createElement("img") img.src=src setTimeout( function(){ alert(img.width) alert(img.height) }, 1) } }O setTimeout dá um tempinho a mais, suficiente para que de tempo para o objeto ser criado totalmente.Não usei new Image() porque ela é uma função menos pura, é poluída, ou seja, é uma função que contém mais comandos em seu prototipo para conveniencia, portanto demora mais para ser executada e o 1 milisegundo não seria suficiente.O motivo pelo qual sempre retorna zero para o eric pode ser pelo fato do navegador não estar usando cache, ou caso o fato da segunda vez funcionar não tenha haver com cache, o hardware do fercos pode ser melhor. Talvez. Caso dê problema apenas no FF e esteja testando localmente, tente usar a imagem no mesmo nível do htm, pode ser alguma restrição de segurança, por se tratar de url.Aquele abraço. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Ediat Postado Dezembro 26, 2013 Denunciar Share Postado Dezembro 26, 2013 (editado) como assim não possui os atributos width e height? CODE function verifica_imagem(){ myImage = new Image(); myImage.src = 'imagens/imagem1.jpg'; largura = parseInt(myImage.width); altura = parseInt(myImage.height); alert(largura + '\n\n' + altura); } Utiliza recursividade que funciona; mas lembre-se de dar um limite para caso realmente não exista o tamanho o cod não faça o browser travar. function verifica_imagem(){ var try = 3; myImage = new Image(); myImage.src = 'imagens/imagem1.jpg'; largura = parseInt(myImage.width); altura = parseInt(myImage.height); if((!altura) && (!largura)){ try--; if(try > 0){ verifica_imagem(); }else{ alert('Erro ao verificar o tamanho!'); return false; } }else{ alert(largura + '\n\n' + altura); } } Testa pois acabei de bolar o codigo, melhora ele pois a ideia é somente que utilize a recursividade; Editado Dezembro 26, 2013 por Ediat Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Eric Freitas
pessoal, como eu faço pra descobrir a altura/largura de uma imagem sendo q esta não possui os atributos width e height?
Desde já Obrigado
Att. Eric Rodrigo de Freitas
Link para o comentário
Compartilhar em outros sites
9 respostass a esta questão
Posts Recomendados
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.