Jump to content


Photo

Gerarminiatura()


  • Faça o login para participar
9 replies to this topic

#1 victorpfm

victorpfm

    Expert

  • Usuários
  • 566 posts
  • Sexo:Masculino

Posted 18/07/2005, 22:36

Sintaxe: gerarMiniatura(FOTO_ORIGINAL [,LARGURA_MAXIMA [,ALTURA_MAXIMA]])
Retorno: Sem retorno
Descrição: Ao chamar a função, uma miniatura é gerada e exibida.
Bibliotecas: GD

<?
function gerarMiniatura($sSrc, $nLarguraMax="100", $nAlturaMax="100")
{
 
header ("Content-type: image/png");

 
$sExt = strtolower(substr(strrchr($sSrc, "."), 1));

  switch (
$sExt)
  {
      case
"jpg" :
         
$rImg = imagecreatefromjpeg($sSrc);
          break;
      case
"jpeg" :
         
$rImg = imagecreatefromjpeg($sSrc);
          break;
      case
"gif" :
         
$rImg = imagecreatefromgif($sSrc);
          break;
      case
"png" :
         
$rImg = imagecreatefrompng($sSrc);
          break;
  }

 
$nImgLargura = imagesx($rImg);
 
$nImgAltura  = imagesy($rImg);

  if (
$nImgLargura > $nImgAltura)
  {
     
$nAlturaMax = ($nLarguraMax * $nImgAltura) / $nImgLargura;
  }
  if (
$nImgAltura > $nImgLargura)
  {
     
$nLarguraMax = ($nAlturaMax * $nImgLargura) / $nImgAltura;
  }
 
 
$rMiniatura = imagecreatetruecolor($nLarguraMax, $nAlturaMax);
 
 
imagecopyresized($rMiniatura, $rImg, 0, 0, 0, 0,
                   
$nLarguraMax, $nAlturaMax, $nImgLargura, $nImgAltura);
                 
 
imagepng($rMiniatura);

 
imagedestroy($rImg);
 
imagedestroy($rMiniatura);
}
?>


Não sei se estão corretas as informações, se não estiver me avisem :D

#2 Eternal Shadow

Eternal Shadow

    Novato no fórum

  • Usuários
  • 18 posts
  • Sexo:Não informado

Posted 27/07/2005, 21:37

desculpe ja consegui instala o GD, mas eu keria saber agora, no servidor q eu testei (mi@) ñ funcionaram as funções imagesx(), imagesy() e imagecreatefromjpeg(), como faço pra pode usar?

Edição feita por: Eternal Shadow, 27/07/2005, 22:21.


#3 Tugu

Tugu

    <! Fernando Tugu !>

  • Usuários
  • 381 posts
  • Sexo:Masculino
  • Localidade:São Bernardo do Campo - SP
  • Interesses:Ajudar pessoas que tenham dificuldades em minhas especializações... e espero que me ajudem quando ficar muito xxxxxx meus trampos...

Posted 27/09/2005, 15:37

ok..ele pega a imagem e tranforma nua miniatura...mias isso dinamicamente..como faço para ele salvar a imagem como nome_mini.jpg por exemplo??
<span style='font-size:10pt;line-height:100%'>Fernando Tugu</span>
Meu Lema: "O ser Humano não é nada sem seus sonhos . . . então vá pra cama dormir ! ! !"

#4 Paulo Freitas

Paulo Freitas

    ××××××× LRU #456504 ××××××× ××××××× LRM #364686 ×××××××

  • Ex-Admins
  • 5612 posts
  • Sexo:Masculino
  • Localidade:Campinas - SP

Posted 28/09/2005, 13:39

ok..ele pega a imagem e tranforma nua miniatura...mias isso dinamicamente..como faço para ele salvar a imagem como nome_mini.jpg por exemplo??

Aí teria de usar as funções referentes ao JPEG, pois o script gera PNG. Mas em todo o caso, é só adicionar um segundo parâmetro na função image_png() (igualmente para image_jpg()) com o nome do arquivo. Para capturar o nome do arquivo, use a função basename() ! ;)

[]’s :DAté mais

#5 Tugu

Tugu

    <! Fernando Tugu !>

  • Usuários
  • 381 posts
  • Sexo:Masculino
  • Localidade:São Bernardo do Campo - SP
  • Interesses:Ajudar pessoas que tenham dificuldades em minhas especializações... e espero que me ajudem quando ficar muito xxxxxx meus trampos...

Posted 06/10/2005, 15:47

acho que não entedeu..eu gostaria de tipo...

eu faço upload de uma imagem..ai chamo essa função para gerar uma miniatura.....ai essa miniatura fika gravada numa pasta chamada por exemplo thumbs...
<span style='font-size:10pt;line-height:100%'>Fernando Tugu</span>
Meu Lema: "O ser Humano não é nada sem seus sonhos . . . então vá pra cama dormir ! ! !"

#6 Paulo Freitas

Paulo Freitas

    ××××××× LRU #456504 ××××××× ××××××× LRM #364686 ×××××××

  • Ex-Admins
  • 5612 posts
  • Sexo:Masculino
  • Localidade:Campinas - SP

Posted 06/10/2005, 16:10

Entendi perfeitamente. A resposta é esta. :)

[]’s :D Até mais

#7 hisamu

hisamu

    Normal

  • Usuários
  • 117 posts
  • Sexo:Não informado

Posted 21/10/2005, 09:37

esclarece uma duvida ai...

tpo, ele gera a miniatura e eh como se criasse uma imagem nova neh? tpo, não é so como só diminuisse a altura e a largura da img n neh? pq ai fica lerdo do memu jeito pra abrir....

[]'

#8 arthurlucena

arthurlucena

    Imamade nandomo..

  • Usuários
  • 343 posts
  • Sexo:Masculino
  • Localidade:João Pessoa
  • Interesses:Desenho, artes gráficas, fotografia, games, praia, cinema, animes, cultura japonesa, tecnologia, desenvolvimento para web entre outras coisas =)

Posted 09/11/2005, 16:32

Nao é bem assim, Hisamu

Uma miniatura de uma imagem serve, teoricamente, como uma "previsão(preview)" de uma imagem que, provavelmente, eu queira ver. Uma lista de miniaturas de fotos me serve para que escolher quais eu vou querer abrir. Como o próprio nome já diz, uma miniatura seria uma versão reduzida da imagem original, ou seja, com medidas mais "enxutas" a imagem ficaria bem mais leve que a original, carregando mais rápido.

Antigamente algumas páginas (rudimentares, devo acrescentar) da net usavam de um recurso pouco eficaz para mostrar muitas imagens: alterava a altura e largura dentro da tag <img> para que a imagem ficasse pequena na doce ilusão que o arquivo também reduziria de tamanho. No entanto o navegador carregava a página com as imagens em tamanho real, para depois redimensioná-las, o que ao final gerava muita espera. Uma miniatura (.gif) de uma foto (.jpg) de 200kb, por exemplo, pode ter até mesmo uns 3kb. Carregar 20 arquivos de 3kb é muito mais eficaz que carregar 20 arquivos de 200kb redimensionado. Fica a critério do usuário qual foto ele vai querer visualizar/baixar.
...........darkness.........²d¬¬b²
A vida é muito curta para se preocupar com o que as outras pessoas pensam. Viva.
Arthur Lucena..................貴族
arthurlucena at email dot com
[O'']olhares.com/arthurlucena

#9 hisamu

hisamu

    Normal

  • Usuários
  • 117 posts
  • Sexo:Não informado

Posted 10/11/2005, 11:17

pois é, a dúvida era antiga, atualmente uso bastante uma função parecida com essa que adaptei pras minhas necessidades :D

obrigado mesmo assim ;)

#10 carneiro

carneiro

    programador web

  • Usuários
  • 155 posts
  • Sexo:Não informado
  • Localidade:cascavel - pr
  • Interesses:programação e design para web

Posted 18/08/2006, 16:22

Tentei utilizar essa funçao mas esta retornando isso

‰PNG  IHDRBd½Ãq”€IDATxœeœI’㸲EÑP¢”fµÿ½Ô¢Þ¤,CüÁ‘Ÿpés¦”HÞ]¿î¢
þû�÷ÓéTJ¹ßïµÖmÛ~~~~~~ÆÇqüüü´Ö®×ë¾ïû¾—Rn·ÛëõºßïÇã~¿?ŸÏÛíößÿýïÿûï¿ÿŽãh­Ïçóù|:Æ¥”×ë5ç¼^¯­µ9çétÚ÷}­µÅu>Ÿ¯×ë¶m|YJ)¥´Ö˜Ï¶m½÷1Æœ³”òx<ÖZ·Û­ÖÚ{ÿ矶µ–´ÖÆÏçsÎYkc0‰1Æëõ♵Öƒ§zïÛ¶ÇQJá‘Ëå‚.N§Óétê½Ï9ùiÛ¶ÖZk­÷¾ïûù|æ6¾9NÌõ8_Ä#ÜÃÅôJ)ÏçsŒÑ{g­”‚LkÎyÇëõbº|@—­µÇãT(†ù)Ãù|žsþùóg­å»{睊÷ÞZ»\.çóyÛ¶ÓéÄ\Qæœk-îdLmÂ×Zk­ûýŽ¨¼å­KœŠkÎÉDk­h]Çà?`1 Í,‘aŒ(è8îaºû¾_.—R SÄ<®)Ð1÷;`k SàcŒmÛ°ÉƤŸÏ'¹Ö \ü„5ÐëZ 
É5_öÞñ^Ãý*ûù|®µ˜â¾ïh ƒèl¨lÛ6Œ°ï»SgXßEøq?ßlÌ穵fžÏçóù¼ßïH¿ßyQõÜÝð«ñ‡xX{Œq:.—
‹S'²™7†Å—øÉÐbÆ|@éL•Ù2ùwˆÏ9ŸÏ§1ô|>ãõz <Ï“ ÁËðNCEàuü„ 
™ÜõzÍaˆŸÏçÇãÁÍàÄù|Æ£*@1þÛ»Œ*^1½ÖIùïqè™÷}‘GÝð ­#3ó6˜%à‹ˆ–1÷}>Ÿ¼gÆÙ3ßx3£x˜Â§±#ÒczîÇ_y1Z'šù‰_A-œ0Ïûˆ“_.*²ñ Ãj ÿ=ŸÏok‹÷ëõj­
ÝïwÃë°Áz¹\PC† ^Æ-€¾Ïç3X' âfFf—ËÅ„TTóx<^¯–÷°ÿ†¯+ƒÀÌ,ü!
fŽãØ÷ÇC‘ÞƺvØ÷yè~x ÀjÎ!¢ˆ1 þ~åÆ1÷1`—Ž0`Æ#.åʦC%z?Ÿ‰`âÜD0DUHü‰â]
`†ˆM$D@bÆÜH0ê‰!
¹/轿^/ˆ¬B*0u:Îç³ómÑ_ž7ªcìûÎmâÚD$bÕPÆ'_ÆÙ¨ÍCë|Ê Û ^c



Tentei com arquivos png e jpg
tentei chama-la dentro e fora dum <img>

$teste = '../figuras/'.$fotos[2]['loc'];
echo '<img src="'.gerarMiniatura($teste,100,100).'">';
echo gerarMiniatura($teste,100,100);

Da tdo o mesmo erro..
o caminho esta correto, se eu usar

$teste = '../figuras/'.$fotos[2]['loc'];
echo '<img src="'.$teste.'">';

a imagem é mostrada sem problemas..

Se alguem puder me ajudar...

Valeuu

Edição feita por: carneiro, 18/08/2006, 16:28.

Descrição
Alexandre Magno Semmer
www.alexandresemmer.com
Programador Web

Programação
ASP, PHP, JavaScript, CSS, SQL, JAVA, C, Paschal, Ajax, XML
Usuário
Posted Image
Links
Ajax Online - FireBug (Firefox) - Documentação PHP - Documentação Prototype - Documentação jQuery - Script.Aculo.Us




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq