Rubiz Gardini Postado Dezembro 1, 2006 Denunciar Share Postado Dezembro 1, 2006 Olá gente; procurei muito pela internet uma resposta fácil pra minha questão, em vão.Vi um script mais complicado que o outro!!Eu preciso apenas, tão somente, diminuir proporcionalmente o tamanho de imagens vindas de um banco de dados...Gente, só que tem que haver um modo inteligente de fazer isso sem escrever mil linhas de código, seja por javascript, seja por css, seja por php...Alguém tem alguma dica? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Dezembro 1, 2006 Denunciar Share Postado Dezembro 1, 2006 Existe um exemplo simples e pequeno (se tirar os comentários fica pequeno) no próprio manual do php: <?php // File and new size $filename = 'test.jpg'; $percent = 0.5; // Content type header('Content-type: image/jpeg'); // Get new sizes list($width, $height) = getimagesize($filename); $newwidth = $width * $percent; $newheight = $height * $percent; // Load $thumb = imagecreatetruecolor($newwidth, $newheight); $source = imagecreatefromjpeg($filename); // Resize imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height); // Output imagejpeg($thumb); ?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Rubiz Gardini Postado Dezembro 4, 2006 Autor Denunciar Share Postado Dezembro 4, 2006 Obrigada ESerra, vamos ver se eu entendo esse troço, e sim, preciso conhecer melhor o manual de php, só que sou muito ruim em inglês!!!Bjos!!!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Dezembro 4, 2006 Denunciar Share Postado Dezembro 4, 2006 Boa parte do manual já está em português... só os exemplos postados pelos usários que sempre estão em inglês, pelo motivo óbvio que a galera posta sempre na língua universal (que infelizmente não é o português). Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Rubiz Gardini Postado Dezembro 5, 2006 Autor Denunciar Share Postado Dezembro 5, 2006 Não deu certo... :o que pena, um script tão simples!!!!Olha os erros que deu:Warning: Cannot modify header information - headers already sent by (output started at E:\Virtuais\mrman\categoria_alimentos.php:7)Fatal error: Call to undefined function imagecreatetruecolor()=================================== editadoTentei simplificar o script, pois acredito que para usar essas funções precisa de uma library que não tem no meu provedor.Tentei fazer assim://////////////////////////////////// script thumb $percent = 0.5; list($width, $height) = getimagesize($imagem); $newwidth = $width * $percent; $newheight = $height * $percent; //////////////////////////////////////////////////////////////////////////////////////// echo "<img src=\"$imagem\" width=\"$newwidth\" height=\"$newheight\" />"; Ele anuncia esse erro:Warning: getimagesize(upload/alimentos/596D0048.jpg) [function.getimagesize]: failed to open stream: No such file or directory in E:\Virtuais\mrman\categoria_alimentos.php Mas o diretório está certíssimo. Não há erros de caminho. Acho que essa função getimagesize não é aceita pelo meu servidor, pela falta de algum biblioteca, existe outra forma de capturar o tamanho da imagem? Observem o código que estou tentando usar: //////////////////////////////////// script thumb $percent = 0.5; list($width, $height) = getimagesize($imagem); $newwidth = $width * $percent; $newheight = $height * $percent; //////////////////////////////////////////////////////////////////////////////////////// echo "<img src=\"$imagem\" width=\"$newwidth\" height=\"$newheight\" />";Não sei se ele dará certo, dá o aviso pentelho... <_< Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 svjets Postado Dezembro 5, 2006 Denunciar Share Postado Dezembro 5, 2006 Você precisa sempre redimensionar para 50% do largura e da altura? Se for, basta: echo "<img src=\"$imagem\" width=\"50%\" height=\"50%\" />"; Tente mudar as barras \ por ". no código, também deverá funcionar. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Rubiz Gardini Postado Dezembro 5, 2006 Autor Denunciar Share Postado Dezembro 5, 2006 Essa foi a 1ª coisa que tentei fazer; olha como ficam as imagens tentei assim também:$percent = 0.5; //recupera as medidas da imagem e cria a proporção. $width = imagesx($imagem); $height = imagesy($imagem); $newwidth = $width * $percent; $newheight = $height * $percent; Não rolou também, qualquer função de obter tamanho da imagem é rejeitada pelo meu servidor... que devo fazer? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Rubiz Gardini Postado Dezembro 6, 2006 Autor Denunciar Share Postado Dezembro 6, 2006 Será que eu posso pedir ao meu servidor que instale a biblioteca GD? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Dezembro 6, 2006 Denunciar Share Postado Dezembro 6, 2006 Será que eu posso pedir ao meu servidor que instale a biblioteca GD?Claro... mesmo porque basta eles descomentarem a linha da ;extension=php_gd2.dll que a GD já funciona, acabei de testar isso aqui em localhost. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Rubiz Gardini Postado Dezembro 6, 2006 Autor Denunciar Share Postado Dezembro 6, 2006 Uhuuuuu!! deu certo sem precisar que o provedor habilitasse a biblioteca!!!Precisei colocar a URL da imagem para que fosse feita a verificação, colocando o caminho relativo do servidor não rolou, mas fiz teste pra saber se o caminho estava correto e estava!!!getimagesize não permite um caminho relativo dentro de variável?Que estranho!!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Dezembro 6, 2006 Denunciar Share Postado Dezembro 6, 2006 Uhuuuuu!! deu certo sem precisar que o provedor habilitasse a biblioteca!!!Precisei colocar a URL da imagem para que fosse feita a verificação, colocando o caminho relativo do servidor não rolou, mas fiz teste pra saber se o caminho estava correto e estava!!!getimagesize não permite um caminho relativo dentro de variável?Que estranho!!!Funciona sim... eu nunca uso caminho completo... e a GD tem que estar habilitada, logo ela já deve estar habilitada no seu servidor, testei aqui em localhost e o script só funcionou quando eu habilitei a GD... mas o caminho que eu uso é sempre relativo... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Rubiz Gardini Postado Dezembro 6, 2006 Autor Denunciar Share Postado Dezembro 6, 2006 Então, que estrenho!!!Segue o código completo:<?php include 'admin/conecta_mysql.inc'; $cat = $_GET["categoria"]; $resultado = mysql_query("SELECT * FROM alimentos WHERE categoria='$cat' ORDER BY id DESC"); // INÍCIO DO LAÇO DE REPETIÇÃO for ($i=0; $i<=3; $i++) { $imagem = mysql_result($resultado,$i,"imagem"); $id = mysql_result($resultado,$i,"id"); $url = "http://mrman.zeronet.com.br"; //////////////////////////////////// script thumb $percent = 0.2; //recupera as medidas da imagem e cria a proporção. list($width, $height) = getimagesize("$url/$imagem"); $newwidth = $width * $percent; $newheight = $height * $percent; //////////////////////////////////////////////////////////////////////////////////////// echo "<a href=\"java script:window.open('popup.php?id=$id&tab=alimentos','1','toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no,width=500,height=400,top=0,left=0')\"><img src=\"$imagem\" width=\"$newwidth\" height=\"$newheight\" border=\"0\" /></a>"; } // FIM DO LAÇO DE REPETIÇÃO mysql_close($con); ?>Pra mim, se coloco o caminho relativo da imagem o negócio zoa inteiro!!Bjos!! e valeu pelo help!!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Rubiz Gardini
Olá gente; procurei muito pela internet uma resposta fácil pra minha questão, em vão.
Vi um script mais complicado que o outro!!
Eu preciso apenas, tão somente, diminuir proporcionalmente o tamanho de imagens vindas de um banco de dados...
Gente, só que tem que haver um modo inteligente de fazer isso sem escrever mil linhas de código, seja por javascript, seja por css, seja por php...
Alguém tem alguma dica?
Link para o comentário
Compartilhar em outros sites
11 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.