Muito tem se falado sobre como escrever em imagens, ou criar imagens com texto, etc.

E essa função não é diferente, só mais um pouquinho inteligente.

Nela você pode colocar textos inteiros dentro de uma imagem, sem se importar com o tamanho, pois ela cuida para que a imagem resultante tenha o tamanho do texto, e ainda quebra as linhas automaticamente quando chega no limite da largura, sem cortar as palavras no meio.

Se você escrever um texto muito grande, ela quebra a linha pra não ultrapassar a largura, como já foi dito, mas se você quiser forçar a quebra de uma linha é só usar \n

Código php
				
<?
function gera_imagem($texto, $width = 150, $height = 0)
{
/* # ================================================
# Essa função cria uma imagem com o texto indicado em $texto.
# A variavel $texto é obrigatória, mas width e height não.
# Se você não definir width, ela será igual a 150
# Se você não definir height, ele será calculado baseado no número de caracteres, numero de linhas, etc
# Para inserir quebra de linha dentro do texto, use \n
# =================================================
*/ header("Content-type: image/png");


$text_width = strlen($texto)*12; //tamanho aproximado de width em pixels desse texto
$char_per_row = (int)($width/8); //núm caracteres por linha

$texto = wordwrap($texto,$char_per_row,"\n",0); //marco o lugar onde será cortado o texto sem cortar nenhuma palavra
$texto = explode("\n",$texto); //quebro o texto no lugar q foi marcado para ser cortado

if($height==0){$height = count($texto)*12;}

$im = @ImageCreate ($width, $height) or die ("erro");
$background_color = ImageColorAllocate ($im, 255, 255, 255); // White: 255,255,255
$text_color = ImageColorAllocate ($im, 0, 0, 0);

foreach($texto as $chave=>$partes){
imagestring($im, 3,5,$chave*12,$partes, $text_color);
} //*/
// imagestring($im, font,x,y,texto, $text_color);
imagepng ($im);
}?>



Para chamar a função, faça assim:

$texto = "José Cláudio Medeiros de Lima. \n Olha mãe, eu to no Webly!!";
gera_imagem($texto);

Sugesões pra incrementar a função:
  1. Substituam as quebras de linha inseridas no texto, automaticamente, sem inserir \n;
  2. Incluam possibilidade de formatação do texto mudando as cores de texto, fundo e fonte;
  3. para os mais avançados: Formatação BB CODE funcionar dentro da imagem, ou seja, criar uma imagem com diversas cores, tipos de letras, fontes, etc baseada no bbcode. (Essa eu não faço porque não tenho nem idéia, mas ficaria Show!)

Você gostou? Comente no fórum!

Comentários:

weaver disse:

Boa boa tô gostando de ver você postando scripts aqui, tô cli c a ndo no seu aLdLsLeLnLsLe^^ vlw e até mais.

Micox disse:

Muito boa mesmo. Vou usar no Webly Galeria.

Ver o restante dos comentários no fórum (e aproveitar pra comentar também !).

Mais recentes em PHP

Mail injection em php
Por Micox - What??!?...
Zend frameworks - o inicio
Por LeandroBarral - Primeiros passos.....
Classe de conexão com mysql
Por Carutcho - Pô esses dias passei aqui no forum de php pra dar uma...
Decimal para hexadecimal
Por dragun - Exemplo de função recursiva...
Como enviar sms via celular e php da forma mais barata
Por Micox - Tutorial de envio de mensagens de texto através do celular usando php...

Ver mais Artigos de PHP.

Ver e retirar outras dúvidas no fórum Webly.

Alguns Direitos Reservados | RSS | O Fórum

Webly Portal e Fóruns - Internet + Humana | Design by ArthurHenrique.com