marcosfj1 0 Denunciar post Postado Janeiro 19, 2011 Ai galera seguite tenho um sisteminha de upload q funciona tudo OK, ai agora alem de enviar JPG vai enviar imagens no formato PNG, beleza fiz as alteraçoes necessarias e deu certo a imagem foi enviada, porem no site ela apareceu com um fundo preto....alguem tem ideia do pq isso? Valeu Compartilhar este post Link para o post Compartilhar em outros sites
gremio10 14 Denunciar post Postado Janeiro 19, 2011 mostre o código ... Compartilhar este post Link para o post Compartilhar em outros sites
marcosfj1 0 Denunciar post Postado Janeiro 19, 2011 mostre o código ... Nao tem mto o q mostrar do codigo, por isso nao mandei, mas seria isso preg_match("/\.(gif|bmp|swf|png|jpg|jpeg|png){1}$/i", strtolower($_FILES['imagem']['name'][$i]), $ext); // if ($ext[0] == '.jpg' or $ext[0] == '.jpeg' or $ext[0] == '.png') { Depois daqui onde faço a verificação da extençao da imagem eu adiciono ela e tal....e esta funcionando o problema é q ela aparece com fundo preto, mesmo nao tendo fundo, afinal ela é PNG Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Janeiro 19, 2011 você faz um redimensionamento da imagem ? Compartilhar este post Link para o post Compartilhar em outros sites
marcosfj1 0 Denunciar post Postado Janeiro 19, 2011 você faz um redimensionamento da imagem ? Olha cara nao fui eu q fiz, pq era antes um outro programador, mas ele faz sim o redimensionamento da imagem sim Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Janeiro 19, 2011 Qual o código que faz o redimensionamento da imagem? Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
marcosfj1 0 Denunciar post Postado Janeiro 20, 2011 Qual o código que faz o redimensionamento da imagem? Carlos Eduardo Vou procurar aqui e já coloco....Mas o redimensionamento da imagem tem algo haver com isso do fundo preto??? Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Janeiro 20, 2011 Mas o redimensionamento da imagem tem algo haver com isso do fundo preto??? Depende de como está sendo feito. Se você está usando a biblioteca GD para fazer este redimensionamento e utilizando as funções para jpg em arquivos .png, provavelmente seja a causa do problema. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
marcosfj1 0 Denunciar post Postado Janeiro 20, 2011 Cara dei uma olhada aqui nas paginas e achei dois arquivos que fazem referencia a isso de GD, mas nao sei nem o q esta acontecendo pq nunca tinha trabalhado com isso, vou te mandar as duas para você olhar Primeira - Um pagina chamada _captcha.php <?php // session_start(); /* * File: CaptchaSecurityImages.php * Author: Simon Jarvis * Copyright: 2006 Simon Jarvis * Date: 03/08/06 * Updated: 07/02/07 * Requirements: PHP 4/5 with GD and FreeType libraries * Link: http://www.white-hat-web-design.co.uk/articles/php-captcha.php * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details: * http://www.gnu.org/licenses/gpl.html * */ class CaptchaSecurityImages { var $font = 'imagem/monofont.ttf'; function generateCode($characters) { /* list all possible characters, similar looking characters and vowels have been removed */ $possible = '23456789bcdfghjkmnpqrstvwxyz'; $code = ''; $i = 0; while ($i < $characters) { $code .= substr($possible, mt_rand(0, strlen($possible)-1), 1); $i++; } return $code; } function CaptchaSecurityImages($width='120',$height='40',$characters='6') { $code = $this->generateCode($characters); /* font size will be 75% of the image height */ $font_size = $height * 0.75; $image = @imagecreate($width, $height) or die('Cannot initialize new GD image stream'); /* set the colours */ $background_color = imagecolorallocate($image, 255, 255, 255); $text_color = imagecolorallocate($image, 20, 40, 100); $noise_color = imagecolorallocate($image, 100, 120, 180); /* generate random dots in background */ for( $i=0; $i<($width*$height)/3; $i++ ) { imagefilledellipse($image, mt_rand(0,$width), mt_rand(0,$height), 1, 1, $noise_color); } /* generate random lines in background */ for( $i=0; $i<($width*$height)/150; $i++ ) { imageline($image, mt_rand(0,$width), mt_rand(0,$height), mt_rand(0,$width), mt_rand(0,$height), $noise_color); } /* create textbox and add text */ $textbox = imagettfbbox($font_size, 0, $this->font, $code) or die('Error in imagettfbbox function'); $x = ($width - $textbox[4])/2; $y = ($height - $textbox[5])/2; imagettftext($image, $font_size, 0, $x, $y, $text_color, $this->font , $code) or die('Error in imagettftext function'); /* output captcha image to browser */ header('Content-Type: image/jpeg'); imagejpeg($image); imagedestroy($image); $_SESSION['security_code'] = $code; } } // $width = isset($_GET['width']) ? $_GET['width'] : '120'; $height = isset($_GET['height']) ? $_GET['height'] : '40'; $characters = isset($_GET['characters']) && $_GET['characters'] > 1 ? $_GET['characters'] : '6'; // $captcha = new CaptchaSecurityImages($width,$height,$characters); ?> Segunda um arquivo chamado - thumb.php // Define quality of image if ($_GET['q']) $arquivo_qualidade = $_GET['q']; else $arquivo_qualidade = 85; // Define size of image (maximum width or height)- if specified via get. if ($_GET['size']) $thumb_size = intval($_GET['size']); // if (intval(@$_GET['w']) > 0) { // $thumb_size_x = intval($_GET['w']); // if (intval(@$_GET['h']) > 0) $thumb_size_y = intval($_GET['h']); else $thumb_size_y = $thumb_size_x; } // $arquivo = $parametro['url'].$_GET['arquivo']; // extensao preg_match("/\.(jpg|jpeg|gif|png){1}$/i", $arquivo, $ext); $arquivo_extensao = strtolower($ext[0]); // $arquivo_cache = str_replace('//','/', $parametro['caminho_cache'].md5($arquivo.@$thumb_size.@$thumb_size_x.@$thumb_size_y.@$arquivo_qualidade).$arquivo_extensao); // remove cached thumbnail if ($_GET['nocache']) if (file_exists($arquivo_cache)) unlink($arquivo_cache); // exibe arquivo que esta no cache if ((file_exists($arquivo_cache)) && (@filemtime($arquivo_cache) > @filemtime($arquivo))) { // header('Content-type: image/'.$arquivo_extensao); header("Expires: Mon, 26 Jul 2030 05:00:00 GMT"); header('Content-Disposition: inline; filename = '.str_replace('/','', md5($arquivo.$thumb_size.$thumb_size_x.$thumb_size_y.$arquivo_qualidade).$arquivo_extensao)); echo (join('', file( $arquivo_cache ))); exit; // no need to create thumbnail - it already exists in the cache } // determine php and gd versions $ver = intval(str_replace(".","",phpversion())); if ($ver >= 430) $gd_version = @gd_info(); // switch ($arquivo_extensao) { // case '.jpg': // JPG // if (!$imagem = imagecreatefromjpeg($arquivo)) if (file_exists($arquivo_cache)) unlink($arquivo_cache); break; // case '.png': // PNG // if (!$imagem = imagecreatefrompng($arquivo)) if (file_exists($arquivo_cache)) unlink($arquivo_cache); break; // case '.gif': // GIF // if (!$imagem = imagecreatefromgif($arquivo)) if (file_exists($arquivo_cache)) unlink($arquivo_cache); break; } // define size of original image $imagem_width = imagesx($imagem); $imagem_height = imagesy($imagem); /*------------------------------------------ define size of the thumbnail ----------------------------------------------------------------------------*/ if (@$thumb_size_x > 0) { // define images x AND y $thumb_width = $thumb_size_x; $factor = $imagem_width/$thumb_size_x; $thumb_height = intval($imagem_height / $factor); // if ($thumb_height > $thumb_size_y) { $thumb_height = $thumb_size_y; $factor = $imagem_height/$thumb_size_y; $thumb_width = intval($imagem_width / $factor); } } else { // define images x OR y $thumb_width = $thumb_size; $factor = $imagem_width/$thumb_size; $thumb_height = intval($imagem_height / $factor); // if ($thumb_height > $thumb_size) { $thumb_height = $thumb_size; $factor = $imagem_height/$thumb_size; $thumb_width = intval($imagem_width / $factor); } } /*------------------------------------------ create the thumbnail --------------------------------------------------------------------*/ if ($imagem_width < 4000) //no point in resampling images larger than 4000 pixels wide - too much server processing overhead - a resize is more economical if (substr_count(strtolower($gd_version['GD Version']), "2.") > 0) { //GD 2.0 $thumbnail = imagecreatetruecolor($thumb_width, $thumb_height); imagecopyresampled($thumbnail, $imagem, 0, 0, 0, 0, $thumb_width, $thumb_height, $imagem_width, $imagem_height); } else { //GD 1.0 $thumbnail = imagecreate($thumb_width, $thumb_height); imagecopyresized($thumbnail, $imagem, 0, 0, 0, 0, $thumb_width, $thumb_height, $imagem_width, $imagem_height); } else if (substr_count(strtolower($gd_version['GD Version']), "2.") > 0) { // GD 2.0 $thumbnail = imagecreatetruecolor($thumb_width, $thumb_height); imagecopyresized($thumbnail, $imagem, 0, 0, 0, 0, $thumb_width, $thumb_height, $imagem_width, $imagem_height); } else { // GD 1.0 $thumbnail = imagecreate($thumb_width, $thumb_height); imagecopyresized($thumbnail, $imagem, 0, 0, 0, 0, $thumb_width, $thumb_height, $imagem_width, $imagem_height); } /*-------------------------------------------- inserir texto na imagem ------------------------------------------------------------------------*/ if ($parametro['imagem_texto'] and $_GET['texto']) { // $black = imagecolorallocate($thumbnail, 200, 200, 200); imagestring($thumbnail, 5, 20, $thumb_height-19, $parametro['imagem_texto'], $black); } /*------------------------------------------------------------ ---------------------------------------------------------------*/ switch ($arquivo_extensao) { // case '.jpg': // JPG header('Content-type: image/jpeg'); header('Content-Disposition: inline; filename = '.str_replace('/', '', md5($arquivo.$thumb_size.$thumb_size_x.$thumb_size_y.$arquivo_qualidade).$arquivo_extensao)); @imagejpeg($thumbnail, $arquivo_cache, $arquivo_qualidade); imagejpeg($thumbnail, '', $arquivo_qualidade); break; // case '.png': // PNG header('Content-type: image/png'); header('Content-Disposition: inline; filename = '.str_replace('/', '', md5($arquivo.$thumb_size.$thumb_size_x.$thumb_size_y.$arquivo_qualidade).$arquivo_extensao)); @imagepng($thumbnail, $arquivo_cache); imagepng($thumbnail); break; // case '.gif': // GIF // if (function_exists('imagegif')) { header('Content-type: image/gif'); header('Content-Disposition: inline; filename = '.str_replace('/', '', md5($arquivo.$thumb_size.$thumb_size_x.$thumb_size_y.$arquivo_qualidade).$arquivo_extensao)); @imagegif($thumbnail, $arquivo_cache); imagegif($thumbnail); } else { header('Content-type: image/jpeg'); header('Content-Disposition: inline; filename = '.str_replace('/', '', md5($arquivo.$thumb_size.$thumb_size_x.$thumb_size_y.$arquivo_qualidade).$arquivo_extensao)); @imagejpeg($thumbnail, $arquivo_cache); imagejpeg($thumbnail); } break; } //clear memory imagedestroy($imagem); imagedestroy($thumbnail); Desculpa nao ter resumido ou tirado alguma parte, mas eu nao sei o que tem q olhar para me ajudar ai mandei tudo hehe Obrigado Compartilhar este post Link para o post Compartilhar em outros sites