kidh0 0 Denunciar post Postado Novembro 29, 2005 Daí gurizada... Estou trabalhando ainda em cima de um álbum de fotos, até agora quando cadastrava-se uma foto, o script criava um thumb e uma imagem normal. O que eu estou tentando fazer é um script que gere a imagem a partir de uma existente no servidor. Gerar a imagem eu consigo através de uma função, o que eu não consigo é fazer essa função retornar a imagem, ela só retorna uma linha gigantesca de códigos. Sei que isso se deve a falta do header apropriado, mas quando coloco o header... dá merda Alguém podia me dar uma ajuda??? Compartilhar este post Link para o post Compartilhar em outros sites
rsddaros 0 Denunciar post Postado Novembro 29, 2005 coloca o codigo para o pessoal ver onde pode ajudar!!! Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Novembro 30, 2005 da pra gerar a imagem dinamicamente ,mas nao compensa porque toda hora o sistema teria que ficar processando é muito mais rapido ja ter as thumbs criadas Compartilhar este post Link para o post Compartilhar em outros sites
kidh0 0 Denunciar post Postado Novembro 30, 2005 Ficaria muito lento criar os thumbs assim???Uma opção seria salvar somente o nome da imagem, sem o path no bd e na hora de puxar ela, definir que ela vem da pasta thumbs (onde estão as miniaturas), por exemplo, ou fotos(onde estão as originais).Mas fiquei curioso para saber como seria para criar esses thumbs...Quanto ao código eu não tenho problemas nenhum para trabalhar com imagens, só queria saber o toque mágico que faz uma função retornar uma imagem e não uma string de códigos como está acontecendo comigo ^_^ da pra gerar a imagem dinamicamente ,mas nao compensa porque toda hora o sistema teria que ficar processando é muito mais rapido ja ter as thumbs criadas Compartilhar este post Link para o post Compartilhar em outros sites
Marcio Leandro 0 Denunciar post Postado Novembro 30, 2005 Sem ver o código fica impossivel saber... Talvez você esteja inserindo a iamgem diretamente no banco de dados de forma incorreta, aí acontece isso. Mas existe um milhão de possibilidades, cada caso é um caso.Posta o código q mostra as miniaturas Compartilhar este post Link para o post Compartilhar em outros sites
kidh0 0 Denunciar post Postado Novembro 30, 2005 Eu não consegui fazer o código que mostra as miniaturas, somente o que as cria e salva no servidor: function criathumb ($path){$size=getimagesize($path);$orig=imagecreatefromjpeg($path);$thumb=imagecreatetruecolor(120,90);imagecopyresampled($thumb,$orig,0,0,0,0,120,90,$size[0],$size[1]);imagejpeg($thumb,"img/");}A minha dúvida seria mudar essa função para ela retornar a imagem sem precisar gravar nada no servidor, simplesmente retornar a imagem. Tipo: <div><img src="<?php echo criathumb("teste.jpg"); ?>"></div> Sem ver o código fica impossivel saber... Talvez você esteja inserindo a iamgem diretamente no banco de dados de forma incorreta, aí acontece isso. Mas existe um milhão de possibilidades, cada caso é um caso.Posta o código q mostra as miniaturas Compartilhar este post Link para o post Compartilhar em outros sites
Marcio Leandro 0 Denunciar post Postado Novembro 30, 2005 Você não tá dando o nome da imagem gerada, só o diretório.$imagem_destino = "img/imagem.jpg";imageJPEG($thumb, $imagem_destino);Caso só queira exibi-la, não coloque o segundo parâmetro, assim você apenas aloca ela na memória. fica assim: imageJPEG($thumb);Existe ainda um terceiro parâmetro, que é a qualidade da imagem gerada. Dê uma olhada no guia de referência Compartilhar este post Link para o post Compartilhar em outros sites
kidh0 0 Denunciar post Postado Novembro 30, 2005 Foi falha minha não ter colocado o imagem.jpg... me esqueci na hora de postar... Mas como ficaria para retornar a imagem???Assim??? return imagejpeg($thumb);Não falta um header dizendo que o que está vindo é uma imagem???Você não tá dando o nome da imagem gerada, só o diretório.$imagem_destino = "img/imagem.jpg";imageJPEG($thumb, $imagem_destino);Caso só queira exibi-la, não coloque o segundo parâmetro, assim você apenas aloca ela na memória. fica assim: imageJPEG($thumb);Existe ainda um terceiro parâmetro, que é a qualidade da imagem gerada. Dê uma olhada no guia de referência Compartilhar este post Link para o post Compartilhar em outros sites
Marcio Leandro 0 Denunciar post Postado Novembro 30, 2005 header('Content-type: image/jpeg');Lembrando que não pode haver saída de dados além deste, senão vai haver um erro. Compartilhar este post Link para o post Compartilhar em outros sites
kidh0 0 Denunciar post Postado Novembro 30, 2005 Mas no caso de um album de fotos vai haver saida de dados antes... então é só não colocar o header que vai retornar a imagem??? header('Content-type: image/jpeg');Lembrando que não pode haver saída de dados além deste, senão vai haver um erro. Compartilhar este post Link para o post Compartilhar em outros sites
Marcio Leandro 0 Denunciar post Postado Novembro 30, 2005 você insere o arquivo como se fosse a imagem, assim: <img src="arquivo.php" /> Compartilhar este post Link para o post Compartilhar em outros sites
kidh0 0 Denunciar post Postado Novembro 30, 2005 Bah cara.... beleza... valeu mesmo... http://forum.imasters.com.br/public/style_emoticons/default/joia.gif É só manda a imagem a ser aberta pela variável, tipo imagem.php?imagem1.jpg....Valeu mesmo pela ajuda http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif você insere o arquivo como se fosse a imagem, assim: <img src="arquivo.php" /> Compartilhar este post Link para o post Compartilhar em outros sites
kidh0 0 Denunciar post Postado Dezembro 1, 2005 Gurizada, agradeço muito a ajuda de todos.Queria sanar uma última dúvida (por enquanto): Usar esse sistema de criar os thumbs em realtime (não sei se é o termo certo) compremete a velocidade do meu sistema, se sim, em quanto ele compromete??? da pra gerar a imagem dinamicamente ,mas nao compensa porque toda hora o sistema teria que ficar processando é muito mais rapido ja ter as thumbs criadas você insere o arquivo como se fosse a imagem, assim: <img src="arquivo.php" /> Compartilhar este post Link para o post Compartilhar em outros sites
Marcio Leandro 0 Denunciar post Postado Dezembro 1, 2005 O processamento de imagens é algo que consome muito recurso do servidor, não tenha dúvidas. O quanto vai consumir, depende de fatores como o tamanho e qualidade da imagem a ser processada. você pode fazer um sistema pra testar isso, tipo, instale no seu micro um software que mede a utilização do processador e de memória ram, como o RamIdle faça uma script que utilize uma imagem original de 800 X 600 e depois repita o teste com uma imagem maior. Compartilhar este post Link para o post Compartilhar em outros sites
kidh0 0 Denunciar post Postado Dezembro 1, 2005 Tive uma idéia... me diz o que tu achas...Usar um sistema tipo cache... tipo, o primeiro usuário que acessar a página vai gerar os thumbs que serão salvos no servidor... os próximos usaram essas imagens salvas sem a necessidade de forçar o servidor a criar novas...No final do dia ou da semana, limpava a pasta de thumbs e pronto...Pode ser meio estranho fazer o sistema assim... mas para um site de festas como é o que estou desenvolvendo... existem festas muito antigas que não podem ser deletadas e em servidores que não oferecem mais do que 300mb de espaço (claro, pro padrão do bolso), o espaço que seria ocupado por thumbs é valioso... O processamento de imagens é algo que consome muito recurso do servidor, não tenha dúvidas. O quanto vai consumir, depende de fatores como o tamanho e qualidade da imagem a ser processada. você pode fazer um sistema pra testar isso, tipo, instale no seu micro um software que mede a utilização do processador e de memória ram, como o RamIdle faça uma script que utilize uma imagem original de 800 X 600 e depois repita o teste com uma imagem maior. Compartilhar este post Link para o post Compartilhar em outros sites
Marcio Leandro 0 Denunciar post Postado Dezembro 1, 2005 As imagens podem ser geradas no momento em que são inseridas no sistema. Muito mais simples. Compartilhar este post Link para o post Compartilhar em outros sites