Thompson 0 Denunciar post Postado Julho 27, 2005 Falae,galera! to com um problemao... e preciso resolver urgente! vejam essa pequena funcao: PHP [*]#redimensiona uma imagem e renomeia (se necessario) [*]function resize($pathImg,$nameImg,$w,$h) [*]{ [*]#tamanho dos thumbs [*]define(WIDTH,$w); [*]define(HEIGHT,$h); [*] $ext = substr($nameImg,-3); [*] #criando nova imagem. primeiramente, verificamos a extensão da imagem pra dps criar a imagem certa. [*] if($ext == "jpg" || $ext == "jpeg"){ [*] $path = $ip.$pathImg.$nameImg; [*] $img = @imagecreatefromjpeg($path); [*] } elseif ($ext == "gif"){ [*] $path = $ip.$pathImg.$nameImg; [*] $img = @imagecreatefromgif($path); [*] } elseif ($ext == "png"){ [*] $path = $ip.$pathImg.$nameImg; [*] $img = @imagecreatefrompng($path); [*] } [*] #testando se a imagem foi carregada com sucesso e setando suas novas dimensoes. [*] if($img) { [*] $widthOrig = imagesx($img); [*] $heightOrig = imagesy($img); [*] #se scale for menor q 1, encolhe ela. se for maior, nao faz nada. [*] if(($widthOrig == WIDTH) && ($heightOrig == HEIGHT)) [*] { [*] #se a imagem tiver o tamanho padrao,cancela a criacao da nova imagem [*] imagedestroy($img); [*] return 1; [*] } else { [*] #criando imagem temporária [*] $novaImg = imagecreatetruecolor(WIDTH,HEIGHT); [*] if($novaImg){ [*] #colocando imagem velha no tamanho da nova, ou seja, REDIMENSIONANDO [*] if(imagecopyresized($novaImg,$img,0,0,0,0,WIDTH,HEIGHT,$widthOrig,$heightOrig)) [*] { [*] imagejpeg($novaImg,$pathImg."imagem.jpg"); [*] [*] $_SESSION['imagem'] = "imagem.jpg"; [*] imagedestroy($img); [*] return 1; [*] } else { [*] return 0; [*] } [*] [*] [*] [*] } else { [*] return 0; [*] } [*] } else { [*] return 0; [*] } [*] } [*] } else { [*] return 0; [*] } [*] [*]##### exibe a img ####### [*]/*header('Content-type: image/jpeg'); [*]if($ext == "jpeg" || $ext == "jpg"){ [*] imagejpeg($img); [*]} elseif ($ext == "gif"){ [*] imagegif($img); [*]} elseif ($ext == "png"){ [*] imagepng($img); [*]} */ [*] [*]} essa funcao eh chamada por uma outra funcao, apos fazer o upload dessa imagem. entao, eu quero que seja feita uma copia dessa imagem que subiu no servidor, e ainda quero que essa nova copia seja redimensionada. o script funciona, retorna 1, mas a saida do navegador eh essa: ÿØÿàJFIFÿþ>CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), default quality ÿÛC $.' ",#(7),01444'9=82<.342ÿÛC 2!!22222222222222222222222222222222222222222222222222ÿÀ7F"ÿÄ ÿĵ}!1AQa"q2‘¡#B±ÁRÑð$3br‚ %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖ×ØÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ ÿĵw!1AQaq"2B‘¡±Á #3RðbrÑ $4á%ñ&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖ×ØÙÚâãäåæçèéêòóôõö÷øùúÿÚ ?í-¤BAÅR±Ð´»ÿ iͦ^˜¢µ”*Grƒqö•$rÙ=:²´ 2+h^&³‡C7~by)º_Þ¹A¿ýqÁã½t÷"’Ýb’×P•Ö2\&õU«¸¡^y#Ïמ꾟Aðôlu6{7!’)²öE²^dã€k[ÂðÞ¶¯¦©Ð½ÌÄ˪º•š‹çk&d;#j±Qѹ8Áàc ^gðþ;«ï,#h]ÄŸ<Ì áXàŒ¯'Ú ¨â¯éß ´-/V·¿ŠòøÜF‘¯–$k@2Ù^§©Áis7u f®rß4¿KÙ”ÌѬk®ÒIùˆ Ä®rFIÉ'+zûþ+½`‚æ$ìÉu%Æ92í(÷ê@çŽzåwindow ou seja, um monte de caractere q nao me interessa!!! primeiro q eu nao quero q apareca isso ae....segundo q eu quero q seja criada uma nova imagem na pasta onde foi feito o upload! e q essa nova imagem seja redimensionada...pelo q eu li sobre criacao de imagem por php, essa funcao deveria fazer isso!! onde esta o problema?to errando aonde???? agradeco a ajuda.... http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Compartilhar este post Link para o post Compartilhar em outros sites
red neck * 0 Denunciar post Postado Julho 28, 2005 acho que achei seu erro...na linha 36 você poe para exibir ela, sem modificar o cabecalio dizendo para o php que aquilo é uma imagem =]][]'s Compartilhar este post Link para o post Compartilhar em outros sites
Thompson 0 Denunciar post Postado Julho 28, 2005 iaee red neck!! :D é, eu tentei passar como header("Content type: image/jpeg"); mas nao deu certo... e outra, eu preciso gravar a nova imagem numa pasta, nao quero exibi-la, entende??fora q esse codigo é um pedaço bem pequeno de um sistema meio grande, q ja tem um monte de cabeçalho passado pro html... entao ficaria meio chato modificar as coisas pra exibir... eu quero mesmo é gravar a nova imagem redimensionada... tem como?? Compartilhar este post Link para o post Compartilhar em outros sites
red neck * 0 Denunciar post Postado Julho 28, 2005 bom http://br.php.net/copy mais ficaria mais facil você redimencionar ela na hora de exibir []'s Compartilhar este post Link para o post Compartilhar em outros sites
Thompson 0 Denunciar post Postado Julho 28, 2005 aí é q tá... de fato seria mais fácil, porém, o objetivo dessas imagens nao é um html, e sim um flash! eu preciso gerar imagens menores em thumbnail q serao jogadas no flash, pois o flash nao consegue redimensionar as imagens desta maneira... por isso preciso criar um arquivo novosó falta essa parte pra terminar o script.... ja to ficando louco :( Compartilhar este post Link para o post Compartilhar em outros sites
red neck * 0 Denunciar post Postado Julho 28, 2005 beleza XD olha: http://br.php.net/manual/pt_BR/function.imagegd.php http://br.php.net/manual/pt_BR/function.imagegif.php http://br.php.net/manual/pt_BR/function.imagepng.php o segundo parametros dessa funcao é o arquivo que voce quer criar XD []'s Compartilhar este post Link para o post Compartilhar em outros sites
Thompson 0 Denunciar post Postado Julho 28, 2005 ae! eu to quase conseguiindo... eu to usando essas funcoes pra tentar gravar a imagem.....porem, eu nao consigo grava-la!! eu nao sei se precisa existir o arquivo do parametro filename, nao sei se devo cria-lo antes....e isso nao fala aki....e to fazendo uns testes, nao ta rolando...ele nao cria o maldito arquivo :( red neck ou alguem, tem algum exemplo disso??valeu aee!! Compartilhar este post Link para o post Compartilhar em outros sites
red neck * 0 Denunciar post Postado Julho 28, 2005 opaeu fiz os testes aqui, nao nao precisa o arquivo ser criado nao.. so fazer isso: <?php $string = $_GET['text']; $im = imagecreatefrompng("screen.png"); $orange = imagecolorallocate($im, 220, 210, 60); $px = (imagesx($im) - 7.5 * strlen($string)) / 2; imagestring($im, 3, $px, 9, $string, $orange); imagepng($im,"imagem.png"); imagedestroy($im);?> <img src="imagem.png">ele ja criara o arquivo "imagem.png"detalhe, se você tiver trabalhando em linux você vai precisar usar chmod 777 ne ?[]'s Compartilhar este post Link para o post Compartilhar em outros sites
Thompson 0 Denunciar post Postado Julho 28, 2005 aeee!! consegui....realmente ele cria a imagem, porem,nao no diretorio q eu quero. tenta colocar o caminho da imagem no parametro filename....eu nao consegui criar numapasta especifica,tiveqfazero upload desse arquivo pra pasta q eu quis e dps deletar o arquivo antigo.... meio chato mas foi assim q deu certoe eh linux aki, ta com chmod 777se você tiver um jeito... diz ae!valeeu! Compartilhar este post Link para o post Compartilhar em outros sites
red neck * 0 Denunciar post Postado Julho 28, 2005 da normal cara...eu acabei de testar aqui XD <?php $string = $_GET['text']; $im = imagecreatefromjpeg("img/hehe.jpg"); $orange = imagecolorallocate($im, 220, 210, 60); $px = (imagesx($im) - 7.5 * strlen($string)) / 2; imagestring($im, 3, $px, 9, $string, $orange); imagepng($im,"img/imagem.png"); imagedestroy($im);?><img src="img/imagem.png">so que como você esta em linux precisa por 777 em img, mais a pasta precisa estar criada[]'s Compartilhar este post Link para o post Compartilhar em outros sites