Criando texto como imagem


Vamos apresentar um exemplo bem simples de como criar um texto como uma imagem onde você pode escolher a cor do texto e a cor de fundo.

Exemplo:



O código abaixo irá gerar uma imagem com o texto "Teste" escrito nela:

  
	header("Content-type: image/png");

	$im = @imagecreate(200, 30);  // largura 200 / altura 30
	
	$background_color = imagecolorallocate($im, 202, 225, 255); // corde fundo
	$text_color = imagecolorallocate($im, 0, 0, 100);  // cor do texto

	imagestring($im, 4, 5, 5, "Teste", $text_color);
	imagepng($im);
	imagedestroy($im);
Vamos descrever os métodos utilizados:

imagecreate: cria uma nova imagem

  
	resource imagecreate ( int $width , int $height )
imagecolorallocate: aloca uma cor para uma imagem

  
	int imagecolorallocate ( resource $image , int $red , int $green , int $blue );
	
	// image - retorno da função imagecreate()
	// red, green e blue - são os valores de vermelho, azul e verde, respectivamente
	// da cor solicitada. Estes parâmetros são inteiros entre 0 e 255 ou hexadecimais entre 0x00 e 0xFF

Nota: A primeira utilização da função imagecolorallocate() prenche a cor do fundo.
imagestring: desenha uma string horizontalmente

  
	bool imagestring ( resource $image , int $font , int $x , int $y , string $string , int $color );
	
	// image - retorno da função imagecreate()

	// font - pode ser 1, 2, 3, 4, 5 para as fontes embutidas na codificação latin2 (aonde números maiores
	//correspondem a fontes mais largas) ou qualquer um dos seus própios identificadores de fonte registrado com imageloadfont().

	// x - coordenada x superior à esquerda

	// y - coordenada y superior à esquerda

	// string - string a ser escrita

	// color - identificador de cor criado com imagecolorallocate()
imagepng: envia uma imagem PNG para o browser ou para um arquivo

  
	bool imagepng ( resource $image [, string $filename ] )
imagedestroy: libera qualquer memória associada com a imagem image

  
	bool imagedestroy ( resource $image )

Saiba mais sobre criação de imagens em: http://www.php.net/manual/pt_BR/ref.image.php




Comentários

Copyright © 2018 Anderson Bravo
www.andersonbravo.com.br
anderson@andersonbravo.com.br