Ir para conteúdo

POWERED BY:

Arquivado

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

Vitor RC

Gerando imagens

Recommended Posts

Eu precisava de um script de geração de imagens com texto.

Aí, achei esse neste site:

http://php.eduardokraus.com/adicionando-texto-a-imagem-com-php

 

O problema que na minha hospedagem, a imagem não aparece.

 

OBS: Eu tenho a biblioteca GD habilitada na minha hospedagem.

 

gd.jpg

 

Código PHP:

<?php
// Carregar imagem já existente no servidor
$imagem = imagecreatefromjpeg( "ex1.jpg" );
/* @Parametros
 * "foto.jpg" - Caminho relativo ou absoluto da imagem a ser carregada.
 */
 
// Cor de saída
$cor = imagecolorallocate( $imagem, 255, 255, 255 );
/* @Parametros
 * $imagem - Imagem previamente criada Usei imagecreatefromjpeg
 * 255 - Cor vermelha ( RGB )
 * 255 - Cor verde ( RGB )
 * 255 - Cor azul ( RGB )
 * -- No caso acima é branco
 */
 
// Texto que será escrito na imagem
$nome = urldecode( 'Teste' );
/* @Parametros
 
// Escrever nome
imagestring( $imagem, 5, 15, 515, $nome, $cor );
/* @Parametros
 * $imagem - Imagem previamente criada Usei imagecreatefromjpeg
 * 5 - tamanho da fonte. Valores de 1 a 5
 * 15 - Posição X do texto na imagem
 * 515 - Posição Y do texto na imagem
 * $nome - Texto que será escrito
 * $cor - Cor criada pelo imagecolorallocate
 */
 
// Header informando que é uma imagem JPEG
header( 'Content-type: image/jpeg' );
 
// eEnvia a imagem para o borwser ou arquivo
imagejpeg( $imagem, NULL, 80 );
/* @Parametros
 * $imagem - Imagem previamente criada Usei imagecreatefromjpeg
 * NULL - O caminho para salvar o arquivo.
          Se não definido NULL a imagem será mostrado no browser.
 * 80 - Qualidade da compresão da imagem.
 */
 
 ?>

Sinceramente, eu não entendo porque não aparece.

Ta tudo certinho, o código todo.

 

NÃO GERA ERRO, APENAS MOSTRA O ICONE DE LINK DA IMAGEM QUEBRADO.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para fins de testes, retire a linha do header(). Ele vai ocultar qualquer mensagem de erro gerada.

Aparece vários códigos da imagem, mas a imagem não aparece.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se aparece o código binário, sem erros do PHP, deveria funcionar. A não ser que a imagem não seja jpeg. No seu exemplo, você força o header a ser image/jpeg. Se for png, gif ou outra, não vai funcionar. Certifique-se de que a imagem é, de fato, jpeg.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se aparece o código binário, sem erros do PHP, deveria funcionar. A não ser que a imagem não seja jpeg. No seu exemplo, você força o header a ser image/jpeg. Se for png, gif ou outra, não vai funcionar. Certifique-se de que a imagem é, de fato, jpeg.

 

É jpeg msm.

Inclusive no site que ele postou tem um exemplo funcionando perfeitamente.

 

Não entendo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estranho... testei seu código aqui e funciona normalmente

Deve ter alguma outra parte do código que está inserindo algum caractere a mais, além do binário da imagem. Esse arquivo é acessado diretamente ou é incluído com include/require?

 

Veja o código-fonte gerado no navegador. Talvez haja espaço em branco ou algum caractere inválido antes do código da imagem.

Só para testes, dê um echo em uma letra qualquer antes do imagejpeg. Se no código aparecer algo antes dessa letra, é porque há algo a mais sendo exibido, além do binário da iamgem

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estranho... testei seu código aqui e funciona normalmente

Deve ter alguma outra parte do código que está inserindo algum caractere a mais, além do binário da imagem. Esse arquivo é acessado diretamente ou é incluído com include/require?

 

Veja o código-fonte gerado no navegador. Talvez haja espaço em branco ou algum caractere inválido antes do código da imagem.

Só para testes, dê um echo em uma letra qualquer antes do imagejpeg. Se no código aparecer algo antes dessa letra, é porque há algo a mais sendo exibido, além do binário da iamgem

 

Estranho... testei seu código aqui e funciona normalmente

Deve ter alguma outra parte do código que está inserindo algum caractere a mais, além do binário da imagem. Esse arquivo é acessado diretamente ou é incluído com include/require?

 

Veja o código-fonte gerado no navegador. Talvez haja espaço em branco ou algum caractere inválido antes do código da imagem.

Só para testes, dê um echo em uma letra qualquer antes do imagejpeg. Se no código aparecer algo antes dessa letra, é porque há algo a mais sendo exibido, além do binário da iamgem

 

Não estou precisando mais.

Não consegui resolver, mas tudo bem.

Valeu pelo interesse.

:D

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.