alissonxx 0 Denunciar post Postado Julho 22, 2010 Boa tarde, gostaria de saber se alguem tem ideia de como transformar a imagem BLOB em uma miniatura... a unica coisa que eu faço é retornar a imagem do banco de dados e mostrar através do codigo abaixo header("Content-type: $tipo"); echo"$arquivo"; se eu colocar algum codigo a mais no código acima já me retorna um erro dizendo que não foi possível abrir a imagem... Há possibilidade de manipular imagens de campo blob? alterar tamanho e etc? Compartilhar este post Link para o post Compartilhar em outros sites
Rogério Y. 0 Denunciar post Postado Julho 22, 2010 Cara... eu não testei... mas da uma olhada aqui: http://br2.php.net/manual/en/function.imagecreatefromstring.php Um exemplo (se der erro poste aqui, pois não testei...): //tamanho do thumb $new_w = 200; $new_h = 150 $im = imagecreatefromstring($arquivo); $width = imagesx($im); $height = imagesy($im); $thumb = imagecreatetruecolor($new_w,$new_h); imagecopyresized($thumb,$im,0,0,0,0,$new_w,$new_h,$width,$height); if ($tipo == "image/pjpeg") { imagejpeg($thumb); } else if ($tipo == "image/x-png") { imagepng($thumb); } else if ($tipo == "image/gif") { imagegif($thumb); } imagedestroy($thumb); Compartilhar este post Link para o post Compartilhar em outros sites
alissonxx 0 Denunciar post Postado Julho 22, 2010 testei.. nao deu erro... mostrou a imagem do tamanho normal.. não sei como funciona isso.. manipulação de blob, eu usava com upload de arquivo e <? $arquivos_codigo=$_GET['arquivos_codigo']; $sql="select * from arquivos where arquivos_codigo='$arquivos_codigo'"; $resultado=mysql_query($sql); $row=mysql_fetch_array($resultado); $arquivo=$row['arquivo']; $tipo=$row['tipo']; header("Content-type: $tipo"); echo"$arquivo"; //tamanho do thumb $new_w = 200; $new_h = 150; echo $im = imagecreatefromstring($arquivo); $width = imagesx($im); $height = imagesy($im); $thumb = imagecreatetruecolor($new_w,$new_h); imagecopyresized($thumb,$im,0,0,0,0,$new_w,$new_h,$width,$height); if ($tipo == "image/pjpeg") { imagejpeg($thumb); } else if ($tipo == "image/x-png") { imagepng($thumb); } else if ($tipo == "image/gif") { imagegif($thumb); } //imagedestroy($thumb); echo $thumb; ?> Cara... eu não testei... mas da uma olhada aqui: http://br2.php.net/manual/en/function.imagecreatefromstring.php Um exemplo (se der erro poste aqui, pois não testei...): //tamanho do thumb $new_w = 200; $new_h = 150 $im = imagecreatefromstring($arquivo); $width = imagesx($im); $height = imagesy($im); $thumb = imagecreatetruecolor($new_w,$new_h); imagecopyresized($thumb,$im,0,0,0,0,$new_w,$new_h,$width,$height); if ($tipo == "image/pjpeg") { imagejpeg($thumb); } else if ($tipo == "image/x-png") { imagepng($thumb); } else if ($tipo == "image/gif") { imagegif($thumb); } imagedestroy($thumb); Compartilhar este post Link para o post Compartilhar em outros sites
Rogério Y. 0 Denunciar post Postado Julho 22, 2010 tire isso: //tire essa linha echo "$arquivo"; //... //essas também echo $thumb; //descomente essa linha imagedestroy($thumb); quando você executa imagejpeg($thumb); a imagem já é enviada para o browser... não precisa echo Compartilhar este post Link para o post Compartilhar em outros sites
alissonxx 0 Denunciar post Postado Julho 22, 2010 Não deu certo tbm.. a pagina onde ocorre isso tem header pra imagem e na variavel $arquivo eu tenho o conteúdo da imagem, se eu nao colocar echo $arquivo ou echo $thumb não vai ter conteudo para mostrar... eu procurei e achei uma solução.. efetuar a gravação da imagem e da miniatura no banco. tire isso: //tire essa linha echo "$arquivo"; //... //essas também echo $thumb; //descomente essa linha imagedestroy($thumb); quando você executa imagejpeg($thumb); a imagem já é enviada para o browser... não precisa echo Compartilhar este post Link para o post Compartilhar em outros sites
Rogério Y. 0 Denunciar post Postado Julho 22, 2010 a pagina onde ocorre isso tem header pra imagem e na variavel $arquivo eu tenho o conteúdo da imagem, se eu nao colocar echo $arquivo ou echo $thumb não vai ter conteudo para mostrar... Vai sim... a função imagejpeg($thumb) envia conteúdo para o browser. Só não envia se você passar o segundo parâmetro, que o caminho onde ela vai salvar a imagem... se você não passar ela praticamente da um echo na imagem... por isso disse pra você não colocar o echo. Estranho... aqui eu testei e funcionou perfeito. não da nenhum erro? tenta colocar error_reporting( E_ALL ) no começo, e ver se da algum erro... Compartilhar este post Link para o post Compartilhar em outros sites
alissonxx 0 Denunciar post Postado Julho 22, 2010 testei novamente e funcionou vlw cara. obrigado. Compartilhar este post Link para o post Compartilhar em outros sites