note 79243 added to function.imagecreatefrompng

From: 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

« previous php.notes (#132360) next »