note 79243 added to function.imagecreatefrompng
| From: | andrebronca at hotmail dot com | Date: | Fri, 16 Nov 2007 19:36:03 +0000 |
| Subject: | note 79243 added to function.imagecreatefrompng | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-132360@lists.php.net to get a copy of this message | ||
Pega uma imagem PNG no formato de botão, e grava um texto passado pelo método GET. O texto
ficará centralizado em todos os lados, caso seja menor que a imagem. Crie um diretório para
alocar as imagens. Todas podem ser recuperadas depois. Seus nomes sao respectivos com o que foi
atribuido ao método GET. Para utilizar o método POST, basta colocar no action o nome do
arquivo PHP.
<?php //botao_texto.php
//cabeçalho da página
header('Content-Type: image/jpeg');
//caminho do armazenamento da imagem, pode ser criado no diretório local uma pasta.
$path = "./img";
//Cria a variável com o texto para a imagem
$text = $_GET['text'];
//tipo da fonte
$font = 'times';
//se nao vier pelo GET
if(!$_GET['size']):
//o tamanho da fonte será definido automaticamente
$size = 12;
endif;
//localiza a imagem no diretório atual
//pode ser criado no uma image com qualquer dimensão, aceitável como botão.
//Exemplo calculado aqui: 100px x 31px
$im = ImageCreateFromPNG('botao.png');
//separar os valores do comprimento e altura do botao
$imx = imagesx($im);
$imy = imagesy($im);
//obter as coordenadas do texto para o botao
$txt = ImageTTFBBox($size,0,$font,$text);
//separar a altura e comprimento do texto
$txt_x = $txt[2] - $txt[0];
$txt_y = $txt[5] - $txt[3];
//obter o ponto x e y do botao para centralizar o texto
$x = ($imx - $txt_x) / 2;
$y = ($imy - $txt_y) / 2;
//definir a cor do texto
$black = ImageColorAllocate($im,0,0,0);
//monta a imagem: imagem, tamanho fonte, angulo, posicao inicial, posicao final
//....................................., cor, tipo de fonte, texto da imagem
ImageTTFText($im,$size,0,$x,$y,-black,$font,$text);
//monta a imagem como JPEG
ImageJPEG($im);
//monta a imagem e salva
ImageJPEG($im,"$path/$text.jpeg");
?>
Código para passar pelo método GET. Simples tabela que centraliza duas chamadas da imagem.
Para o caso de comparação.
<!-- view_button.html -->
<table align="center">
<tr>
<td><img src="botao_php.php?text=Enviar"></td>
</tr>
<tr>
<td><img src="botao_php.php?text=Cadastrar"></td>
</tr>
</table>
----
Server IP: 69.147.83.197
Probable Submitter: 200.241.42.38
----
Manual Page -- http://www.php.net/manual/en/function.imagecreatefrompng.php
Edit -- https://master.php.net/note/edit/79243
Del: integrated -- https://master.php.net/note/delete/79243/integrated
Del: useless -- https://master.php.net/note/delete/79243/useless
Del: bad code -- https://master.php.net/note/delete/79243/bad+code
Del: spam -- https://master.php.net/note/delete/79243/spam
Del: non-english -- https://master.php.net/note/delete/79243/non-english
Del: in docs -- https://master.php.net/note/delete/79243/in+docs
Del: other reasons-- https://master.php.net/note/delete/79243
Reject -- https://master.php.net/note/reject/79243
Search -- https://master.php.net/manage/user-notes.php