tubadc 0 Denunciar post Postado Junho 29, 2005 Iai galera beleza? Estou com um problemaum estou desenvolvendo o site www.costuraperfeita.com.br e na parte de seções, onde irão entrar as seções da revista não cosigo fazer com que a imagem pequena não distorça ou seja, quando dou o up da imagem pelo form básico, ela vai pra uma pasta e fica gravado apenas o caminho no banco, sendo assim tenho apenas uma imagem aparecendo nos dois lugares uma na notinha que aparece outra quando é clicado no leia mais...m, o qual mostra a imagem full, porem a imagem pequena fica total distor]cida pois não sei como faço para redimensinoar a imagem igualmente sem perder proporção : segue um pedaço do código onde mostro a imagem pequena: PHP [*] [*] [*]print("<table width = '100%' align = 'center' class='style2'>"); [*]@$noticia_formatada = substr($linha[noticia], 0, 250)."... <a href='secoes/mostrar_noticia.php?id=$linha[id]'>leia mais ... </a>"; [*] [*] print("<tr><td colspan=' 2' bgcolor='#D5EAFF'><div align='center' valign='top'><strong>Seção - $linha[secao]</strong></div></td></tr>"); [*] print("<tr><td colspan=' 2' ><div align='left'><class='style2'><strong>$linha[titulo]</strong></div></td></tr>"); [*] print("<tr><td width='15%' ><div align='left'><img src='secoes/img_noticias/$linha[imagem]' alt='sem imagem' width='75' height='60'></div> [*] <td width='85%'><div align='justify'>$noticia_formatada</div></td><br>"); [*] print("<tr><td colspan=' 2'><div align='right'><class='style2'>$linha[data_formatada]</div></td></tr>"); [*] $i++; [*] } [*] print("</table>"); alguem tem alguma sugestão? Pois procurei no forum e achei apenas redimensionamento para algum valor e naum para % por ex....., jah adianto que naum adinta por %.... Compartilhar este post Link para o post Compartilhar em outros sites
tubadc 0 Denunciar post Postado Julho 2, 2005 up.iai galera alguem sabe como?Abraço Compartilhar este post Link para o post Compartilhar em outros sites
klawdyo 0 Denunciar post Postado Julho 3, 2005 Mas, se você sabe como diminuir de 200 para 20, por exemplo, então é qual é a dúvida? Veja só, você diz q sabe diminuir para um valor exato, mas não sabe diminuir para uma porcentagem do valor exato. É só uma questão de lógica. Se você tem uma imagem com 200 px d largura, mas você quer q ela diminua para 50%. 50% = 0,5, ou seja, é só você mandar o diminuir para (200*0,5).MAS, se a sua dúvida é COMO DIMINUIR A IMAGEM, MANTENDO AS PROPORCOES DE LARGURA E ALTURA, então, façamos assim.Primeiro, você tem que descobrir a largura (ou altura, você é quem sabe, nesse exemplo, vamos usar a largura).A função getimagesize($CaminhoDaImagem) retorna um array com 4 valores, o primeiro índice retorna a largura. $teteu = getimagesize(foto1.jpg);$largura = $teteu[0];$altura = $teteu[1];Supondo que, a largura terá 200 kb, e que a altura terá 150, e, de posse desses dados, você manda o script diminuir a imagem para 50 de largura e para uma altura q não distorça. você vai utilizar matemática agora200 (largura original) / 50(nova largura) = 4 (coeficiente)Se, meu coeficiente de diminuição é 4, é fácil achar minha futura altura$nova_altura = $altura/$coeficiente = 150/4 = 37,5.Portanto, $nova_altura será igual a 37,5.Você pode fazer a mesma coisa invertendo-se a altura e a largura.Espero que tenha tirado a sua dúvida.Faloura gelada Compartilhar este post Link para o post Compartilhar em outros sites
SnakeX 1 Denunciar post Postado Julho 3, 2005 é tal como o klawdyo falou voçe primeiro tem de saber o width e o height da imagem, eu uso assim: PHP [*]list($width, $height) = getimagesize('imagens/imagem_tal.gif'); depois tenho uma função que faz o que o klawdyo falou tb PHP [*] [*]function imagem($width,$height,$imagem,$aprox=150) [*]{ [*] $x = $width; [*] $y = $height; [*] if($x >= $y){ [*] if($x > $aprox) [*] { [*] $x1= (int)($x * ($aprox/$x)); [*] $y1= (int)($y * ($aprox/$x)); [*] } else { [*] $x1 = $x; [*] $y1 = $y; [*] } [*] } else { [*] if($y > $aprox){ [*] $x1 = (int)($x * ($aprox/$y)); [*] $y1 = (int)($y * ($aprox/$y)); [*] } else { [*] $x1 = $x; [*] $y1 = $y; [*] } [*] } [*] $x = $x1; [*] $y = $y1; [*] return '<img src="'.$imagem.'" width="'.$x.'" height="'.$y.'">'; [*]} [*] o valor $aprox é para se por exemplo voçe tiver uma imagem com o width maior que 150 ele vai reduzi-la ate ela fikar com 150 de width e por ai é só voçe testar, se num der poste ai de novo :) Compartilhar este post Link para o post Compartilhar em outros sites