Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Thompson

Redimensionamento de imagem

Recommended Posts

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

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

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

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

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

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.