SlideShare uma empresa Scribd logo
Programação para WEB
Regis Pires Magalhães
regispiresmag@gmail.com
PHP:
Biblioteca GD
Criando um texto
<?php
header("Content-type: image/png");
$im = imagecreate(100,40);
$amarelo = imagecolorallocate($im, 255, 255, 0);
$azul = imagecolorallocate($im, 0, 0, 255);
imagestring($im, 3, 20, 10, 'oi, mundo', $azul);
imagepng($im);
imagedestroy($im);
?>
Função imagestring
 Desenha uma string horizontalmente nas
coordenadas especificadas.
 bool imagestring (resource $image, int $font, int $x,
int $y, string $string, int $color)
 Parâmetro font:
 Pode ser 1, 2, 3, 4, 5 ou um identificador de
fonte registrado com imageloadfont().
 Números maiores correspondem a fontes
mais largas.
CAPTCHA
<!-- exemplo_captcha.php -->
<html>
<head>
<title>CAPTCHA</title>
</head>
<body>
<h1>CAPTCHA</h1>
<p>Completely Automated Public Turing test
to tell Computers and Humans Apart</p>
<p>teste de Turing público completamente
automatizado para diferenciar entre
computadores e humanos</p>
<img src="exemplo_captcha2.php" />
</body>
</html>
CAPTCHA
<?php
// exemplo_captcha2.php
// Requisitos mínimos
if(!function_exists("gd_info")) {
echo "Biblioteca GD não instalada.";
exit();
}
header('Content-type: image/png');
// Criar a imagem
$imagem = imagecreate(100,100);
// Criar a paleta de cores
$amarelo = imagecolorallocate($imagem,0xFF,0xFF,0x00);
$vermelhoescuro = imagecolorallocate($imagem,0x80,0x00,0x00);
$verdeescuro = imagecolorallocate($imagem,0x00,0x80,0x00);
$verde = imagecolorallocate($imagem,0x00,0xFF,0x00);
$azulescuro = imagecolorallocate($imagem,0x00,0x00,0x80);
// Desenhar linhas aleatórias
for($i = 0;$i < 3;$i++)
imageline($imagem,rand(0,99),rand(0,99),rand(0,99),rand(0,99),
$vermelhoescuro);
for($i = 0;$i < 3;$i++)
imageline($imagem,rand(0,99),rand(0,99),rand(0,99),rand(0,99),$verdeescuro);
for($i = 0;$i < 3;$i++)
imageline($imagem,rand(0,99),rand(0,99),rand(0,99),rand(0,99),$verde);
// Escrever palavra-passe aleatória
for($i = 0;$i < 4;$i++)
imagestring($imagem,5,32 + 10 * $i,32+rand(-5,5),rand(1,9),$azulescuro);
// Finalizar a imagem
imagepng($imagem);
exit();
?>
CAPTCHA
<?php
// exemplo_captcha2.php
// Requisitos mínimos
if(!function_exists("gd_info")) {
echo "Biblioteca GD não instalada.";
exit();
}
header('Content-type: image/png');
// Criar a imagem
$imagem = imagecreate(100,100);
// Criar a paleta de cores
$amarelo = imagecolorallocate($imagem,0xFF,0xFF,0x00);
$vermelhoescuro = imagecolorallocate($imagem,0x80,0x00,0x00);
$verdeescuro = imagecolorallocate($imagem,0x00,0x80,0x00);
$verde = imagecolorallocate($imagem,0x00,0xFF,0x00);
$azulescuro = imagecolorallocate($imagem,0x00,0x00,0x80);
// Desenhar linhas aleatórias
for($i = 0;$i < 3;$i++)
imageline($imagem,rand(0,99),rand(0,99),rand(0,99),rand(0,99),
$vermelhoescuro);
for($i = 0;$i < 3;$i++)
imageline($imagem,rand(0,99),rand(0,99),rand(0,99),rand(0,99),$verdeescuro);
for($i = 0;$i < 3;$i++)
imageline($imagem,rand(0,99),rand(0,99),rand(0,99),rand(0,99),$verde);
// Escrever palavra-passe aleatória
for($i = 0;$i < 4;$i++)
imagestring($imagem,5,32 + 10 * $i,32+rand(-5,5),rand(1,9),$azulescuro);
// Finalizar a imagem
imagepng($imagem);
exit();
?>

Mais conteúdo relacionado

Destaque

Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosRegis Magalhães
 
Prog web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webProg web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_web
Regis Magalhães
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passos
Regis Magalhães
 
PHP 10 CodeIgniter
PHP 10 CodeIgniterPHP 10 CodeIgniter
PHP 10 CodeIgniter
Regis Magalhães
 
Lean Startup
Lean StartupLean Startup
Lean Startup
SEA Tecnologia
 
Prog web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosProg web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhos
Regis Magalhães
 
Prog web 08-php-mvc
Prog web 08-php-mvcProg web 08-php-mvc
Prog web 08-php-mvc
Regis Magalhães
 
Php 05 Mvc
Php 05 MvcPhp 05 Mvc
Php 05 Mvc
Regis Magalhães
 
Php 07 Cakephp
Php 07 CakephpPhp 07 Cakephp
Php 07 Cakephp
Regis Magalhães
 
Php 03 Sessoes Cookies Cabecalhos
Php 03 Sessoes Cookies CabecalhosPhp 03 Sessoes Cookies Cabecalhos
Php 03 Sessoes Cookies Cabecalhos
Regis Magalhães
 
Php 04 Mysql
Php 04 MysqlPhp 04 Mysql
Php 04 Mysql
Regis Magalhães
 
Prog web 06-php-oo
Prog web 06-php-ooProg web 06-php-oo
Prog web 06-php-oo
Regis Magalhães
 
Php 02 Primeiros Passos
Php 02 Primeiros PassosPhp 02 Primeiros Passos
Php 02 Primeiros Passos
Regis Magalhães
 
Prog web 01-php-introducao
Prog web 01-php-introducaoProg web 01-php-introducao
Prog web 01-php-introducao
Regis Magalhães
 
Prog web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webProg web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_web
Regis Magalhães
 
Php 06 Crud Mvc
Php 06 Crud MvcPhp 06 Crud Mvc
Php 06 Crud Mvc
Regis Magalhães
 
Lean startup - Agile Brazil 2011
Lean startup - Agile Brazil 2011Lean startup - Agile Brazil 2011
Lean startup - Agile Brazil 2011
Webgoal
 
Prog web 05-php-mysql
Prog web 05-php-mysqlProg web 05-php-mysql
Prog web 05-php-mysql
Regis Magalhães
 
Desenvolvimento web: PHP orientado a objetos
Desenvolvimento web: PHP orientado a objetosDesenvolvimento web: PHP orientado a objetos
Desenvolvimento web: PHP orientado a objetos
Lucas Vegi
 
High Dimensional Data
High Dimensional DataHigh Dimensional Data
High Dimensional Data
Regis Magalhães
 

Destaque (20)

Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passos
 
Prog web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webProg web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_web
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passos
 
PHP 10 CodeIgniter
PHP 10 CodeIgniterPHP 10 CodeIgniter
PHP 10 CodeIgniter
 
Lean Startup
Lean StartupLean Startup
Lean Startup
 
Prog web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosProg web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhos
 
Prog web 08-php-mvc
Prog web 08-php-mvcProg web 08-php-mvc
Prog web 08-php-mvc
 
Php 05 Mvc
Php 05 MvcPhp 05 Mvc
Php 05 Mvc
 
Php 07 Cakephp
Php 07 CakephpPhp 07 Cakephp
Php 07 Cakephp
 
Php 03 Sessoes Cookies Cabecalhos
Php 03 Sessoes Cookies CabecalhosPhp 03 Sessoes Cookies Cabecalhos
Php 03 Sessoes Cookies Cabecalhos
 
Php 04 Mysql
Php 04 MysqlPhp 04 Mysql
Php 04 Mysql
 
Prog web 06-php-oo
Prog web 06-php-ooProg web 06-php-oo
Prog web 06-php-oo
 
Php 02 Primeiros Passos
Php 02 Primeiros PassosPhp 02 Primeiros Passos
Php 02 Primeiros Passos
 
Prog web 01-php-introducao
Prog web 01-php-introducaoProg web 01-php-introducao
Prog web 01-php-introducao
 
Prog web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webProg web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_web
 
Php 06 Crud Mvc
Php 06 Crud MvcPhp 06 Crud Mvc
Php 06 Crud Mvc
 
Lean startup - Agile Brazil 2011
Lean startup - Agile Brazil 2011Lean startup - Agile Brazil 2011
Lean startup - Agile Brazil 2011
 
Prog web 05-php-mysql
Prog web 05-php-mysqlProg web 05-php-mysql
Prog web 05-php-mysql
 
Desenvolvimento web: PHP orientado a objetos
Desenvolvimento web: PHP orientado a objetosDesenvolvimento web: PHP orientado a objetos
Desenvolvimento web: PHP orientado a objetos
 
High Dimensional Data
High Dimensional DataHigh Dimensional Data
High Dimensional Data
 

Semelhante a Prog web 04-php-gd

Escrevendo códigos php seguros
Escrevendo códigos php segurosEscrevendo códigos php seguros
Escrevendo códigos php seguros
Douglas V. Pasqua
 
HTML
HTMLHTML
InterCon 2017 - Engenharia de segurança web: Proteja todas as camadas de seu ...
InterCon 2017 - Engenharia de segurança web: Proteja todas as camadas de seu ...InterCon 2017 - Engenharia de segurança web: Proteja todas as camadas de seu ...
InterCon 2017 - Engenharia de segurança web: Proteja todas as camadas de seu ...
iMasters
 
Aplicacoes Rapidas Para Web Com Django
Aplicacoes Rapidas Para Web Com DjangoAplicacoes Rapidas Para Web Com Django
Aplicacoes Rapidas Para Web Com Django
Diemesleno Souza Carvalho
 
Segurança e Performance WordPress
Segurança e Performance WordPressSegurança e Performance WordPress
Segurança e Performance WordPress
Henrique Mouta
 
04_Introducao_JavaScript.pdf
04_Introducao_JavaScript.pdf04_Introducao_JavaScript.pdf
04_Introducao_JavaScript.pdf
DaniloPereira341965
 
Aula 1 - Curso de PHP/CI e Tecnologias Relacionadas
Aula 1 - Curso de PHP/CI e Tecnologias RelacionadasAula 1 - Curso de PHP/CI e Tecnologias Relacionadas
Aula 1 - Curso de PHP/CI e Tecnologias Relacionadas
CJR, UnB
 
LPII_Aula_7-JQuery.pdf
LPII_Aula_7-JQuery.pdfLPII_Aula_7-JQuery.pdf
LPII_Aula_7-JQuery.pdf
GabrielaMota46
 
Aplicações rápidas para a Web com Django
Aplicações rápidas para a Web com DjangoAplicações rápidas para a Web com Django
Aplicações rápidas para a Web com Django
Freedom DayMS
 
Minicurso de PHP Com Ajax
Minicurso de PHP Com AjaxMinicurso de PHP Com Ajax
Minicurso de PHP Com Ajax
Adler Medrado
 
Palestra: Otimização de websites
Palestra: Otimização de websitesPalestra: Otimização de websites
Palestra: Otimização de websites
Intrus
 
Javascript truquesmagicos
Javascript truquesmagicosJavascript truquesmagicos
Javascript truquesmagicos
ponto hacker
 
MySQL 5.7 - 
Tirando o Máximo Proveito
MySQL 5.7 - 
Tirando o Máximo ProveitoMySQL 5.7 - 
Tirando o Máximo Proveito
MySQL 5.7 - 
Tirando o Máximo Proveito
Gabriela Ferrara
 
MongoDB + PHP
MongoDB + PHPMongoDB + PHP
MongoDB + PHP
Ari Stopassola Junior
 
JavaScript e JQuery para Webdesigners
JavaScript e JQuery para WebdesignersJavaScript e JQuery para Webdesigners
JavaScript e JQuery para Webdesigners
Harlley Oliveira
 
Desenvolvendo com mongodb
Desenvolvendo com mongodbDesenvolvendo com mongodb
Desenvolvendo com mongodb
Thiago Avelino
 
Como Perder Peso (no browser)
Como Perder Peso (no browser)Como Perder Peso (no browser)
Como Perder Peso (no browser)
Zeno Rocha
 
Backbone.js + Rails - Front-end e back-end conectados
Backbone.js + Rails - Front-end e back-end conectadosBackbone.js + Rails - Front-end e back-end conectados
Backbone.js + Rails - Front-end e back-end conectados
Henrique Gogó
 
Crawling - Coleta de dados na Web com PHP
Crawling - Coleta de dados na Web com PHP Crawling - Coleta de dados na Web com PHP
Crawling - Coleta de dados na Web com PHP
Luis Gustavo Almeida
 
Palestra PHPSP+Locaweb 2014 - PDO
Palestra PHPSP+Locaweb 2014 - PDOPalestra PHPSP+Locaweb 2014 - PDO
Palestra PHPSP+Locaweb 2014 - PDO
Rodrigo Wanderley de Melo Cardoso
 

Semelhante a Prog web 04-php-gd (20)

Escrevendo códigos php seguros
Escrevendo códigos php segurosEscrevendo códigos php seguros
Escrevendo códigos php seguros
 
HTML
HTMLHTML
HTML
 
InterCon 2017 - Engenharia de segurança web: Proteja todas as camadas de seu ...
InterCon 2017 - Engenharia de segurança web: Proteja todas as camadas de seu ...InterCon 2017 - Engenharia de segurança web: Proteja todas as camadas de seu ...
InterCon 2017 - Engenharia de segurança web: Proteja todas as camadas de seu ...
 
Aplicacoes Rapidas Para Web Com Django
Aplicacoes Rapidas Para Web Com DjangoAplicacoes Rapidas Para Web Com Django
Aplicacoes Rapidas Para Web Com Django
 
Segurança e Performance WordPress
Segurança e Performance WordPressSegurança e Performance WordPress
Segurança e Performance WordPress
 
04_Introducao_JavaScript.pdf
04_Introducao_JavaScript.pdf04_Introducao_JavaScript.pdf
04_Introducao_JavaScript.pdf
 
Aula 1 - Curso de PHP/CI e Tecnologias Relacionadas
Aula 1 - Curso de PHP/CI e Tecnologias RelacionadasAula 1 - Curso de PHP/CI e Tecnologias Relacionadas
Aula 1 - Curso de PHP/CI e Tecnologias Relacionadas
 
LPII_Aula_7-JQuery.pdf
LPII_Aula_7-JQuery.pdfLPII_Aula_7-JQuery.pdf
LPII_Aula_7-JQuery.pdf
 
Aplicações rápidas para a Web com Django
Aplicações rápidas para a Web com DjangoAplicações rápidas para a Web com Django
Aplicações rápidas para a Web com Django
 
Minicurso de PHP Com Ajax
Minicurso de PHP Com AjaxMinicurso de PHP Com Ajax
Minicurso de PHP Com Ajax
 
Palestra: Otimização de websites
Palestra: Otimização de websitesPalestra: Otimização de websites
Palestra: Otimização de websites
 
Javascript truquesmagicos
Javascript truquesmagicosJavascript truquesmagicos
Javascript truquesmagicos
 
MySQL 5.7 - 
Tirando o Máximo Proveito
MySQL 5.7 - 
Tirando o Máximo ProveitoMySQL 5.7 - 
Tirando o Máximo Proveito
MySQL 5.7 - 
Tirando o Máximo Proveito
 
MongoDB + PHP
MongoDB + PHPMongoDB + PHP
MongoDB + PHP
 
JavaScript e JQuery para Webdesigners
JavaScript e JQuery para WebdesignersJavaScript e JQuery para Webdesigners
JavaScript e JQuery para Webdesigners
 
Desenvolvendo com mongodb
Desenvolvendo com mongodbDesenvolvendo com mongodb
Desenvolvendo com mongodb
 
Como Perder Peso (no browser)
Como Perder Peso (no browser)Como Perder Peso (no browser)
Como Perder Peso (no browser)
 
Backbone.js + Rails - Front-end e back-end conectados
Backbone.js + Rails - Front-end e back-end conectadosBackbone.js + Rails - Front-end e back-end conectados
Backbone.js + Rails - Front-end e back-end conectados
 
Crawling - Coleta de dados na Web com PHP
Crawling - Coleta de dados na Web com PHP Crawling - Coleta de dados na Web com PHP
Crawling - Coleta de dados na Web com PHP
 
Palestra PHPSP+Locaweb 2014 - PDO
Palestra PHPSP+Locaweb 2014 - PDOPalestra PHPSP+Locaweb 2014 - PDO
Palestra PHPSP+Locaweb 2014 - PDO
 

Mais de Regis Magalhães

Web Scale Data Management
Web Scale Data ManagementWeb Scale Data Management
Web Scale Data Management
Regis Magalhães
 
Prog web 01-php-introducao
Prog web 01-php-introducaoProg web 01-php-introducao
Prog web 01-php-introducao
Regis Magalhães
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passos
Regis Magalhães
 
Linked Data Tutorial - Conferencia W3C Brasil 2011
Linked Data Tutorial - Conferencia W3C Brasil 2011Linked Data Tutorial - Conferencia W3C Brasil 2011
Linked Data Tutorial - Conferencia W3C Brasil 2011
Regis Magalhães
 
Linked Data - Minicurso - SBBD 2011
Linked Data - Minicurso - SBBD 2011Linked Data - Minicurso - SBBD 2011
Linked Data - Minicurso - SBBD 2011
Regis Magalhães
 
Curso Ruby
Curso RubyCurso Ruby
Curso Ruby
Regis Magalhães
 
Easy Rails
Easy RailsEasy Rails
Easy Rails
Regis Magalhães
 
Coding Dojo
Coding DojoCoding Dojo
Coding Dojo
Regis Magalhães
 
Java 01 Java Visao Geral Detalhado
Java 01 Java Visao Geral DetalhadoJava 01 Java Visao Geral Detalhado
Java 01 Java Visao Geral Detalhado
Regis Magalhães
 
Java 01 Java Visao Geral Resumo
Java 01 Java Visao Geral ResumoJava 01 Java Visao Geral Resumo
Java 01 Java Visao Geral Resumo
Regis Magalhães
 
java 00 Introducao
java 00 Introducaojava 00 Introducao
java 00 Introducao
Regis Magalhães
 
POO Plano de Curso
POO Plano de CursoPOO Plano de Curso
POO Plano de Curso
Regis Magalhães
 

Mais de Regis Magalhães (13)

Web Scale Data Management
Web Scale Data ManagementWeb Scale Data Management
Web Scale Data Management
 
Prog web 01-php-introducao
Prog web 01-php-introducaoProg web 01-php-introducao
Prog web 01-php-introducao
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passos
 
Linked Data Tutorial - Conferencia W3C Brasil 2011
Linked Data Tutorial - Conferencia W3C Brasil 2011Linked Data Tutorial - Conferencia W3C Brasil 2011
Linked Data Tutorial - Conferencia W3C Brasil 2011
 
Linked Data - Minicurso - SBBD 2011
Linked Data - Minicurso - SBBD 2011Linked Data - Minicurso - SBBD 2011
Linked Data - Minicurso - SBBD 2011
 
Curso Ruby
Curso RubyCurso Ruby
Curso Ruby
 
Easy Rails
Easy RailsEasy Rails
Easy Rails
 
Coding Dojo
Coding DojoCoding Dojo
Coding Dojo
 
Java 01 Java Visao Geral Detalhado
Java 01 Java Visao Geral DetalhadoJava 01 Java Visao Geral Detalhado
Java 01 Java Visao Geral Detalhado
 
Java 01 Java Visao Geral Resumo
Java 01 Java Visao Geral ResumoJava 01 Java Visao Geral Resumo
Java 01 Java Visao Geral Resumo
 
Merci 10 Completo
Merci 10 CompletoMerci 10 Completo
Merci 10 Completo
 
java 00 Introducao
java 00 Introducaojava 00 Introducao
java 00 Introducao
 
POO Plano de Curso
POO Plano de CursoPOO Plano de Curso
POO Plano de Curso
 

Último

PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
Faga1939
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
joaovmp3
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
WELITONNOGUEIRA3
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
Danilo Pinotti
 
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdfEscola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Gabriel de Mattos Faustino
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
Momento da Informática
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
TomasSousa7
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
Momento da Informática
 

Último (8)

PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
 
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdfEscola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
 

Prog web 04-php-gd

  • 1. Programação para WEB Regis Pires Magalhães regispiresmag@gmail.com PHP: Biblioteca GD
  • 2. Criando um texto <?php header("Content-type: image/png"); $im = imagecreate(100,40); $amarelo = imagecolorallocate($im, 255, 255, 0); $azul = imagecolorallocate($im, 0, 0, 255); imagestring($im, 3, 20, 10, 'oi, mundo', $azul); imagepng($im); imagedestroy($im); ?>
  • 3. Função imagestring  Desenha uma string horizontalmente nas coordenadas especificadas.  bool imagestring (resource $image, int $font, int $x, int $y, string $string, int $color)  Parâmetro font:  Pode ser 1, 2, 3, 4, 5 ou um identificador de fonte registrado com imageloadfont().  Números maiores correspondem a fontes mais largas.
  • 4. CAPTCHA <!-- exemplo_captcha.php --> <html> <head> <title>CAPTCHA</title> </head> <body> <h1>CAPTCHA</h1> <p>Completely Automated Public Turing test to tell Computers and Humans Apart</p> <p>teste de Turing público completamente automatizado para diferenciar entre computadores e humanos</p> <img src="exemplo_captcha2.php" /> </body> </html>
  • 5. CAPTCHA <?php // exemplo_captcha2.php // Requisitos mínimos if(!function_exists("gd_info")) { echo "Biblioteca GD não instalada."; exit(); } header('Content-type: image/png'); // Criar a imagem $imagem = imagecreate(100,100); // Criar a paleta de cores $amarelo = imagecolorallocate($imagem,0xFF,0xFF,0x00); $vermelhoescuro = imagecolorallocate($imagem,0x80,0x00,0x00); $verdeescuro = imagecolorallocate($imagem,0x00,0x80,0x00); $verde = imagecolorallocate($imagem,0x00,0xFF,0x00); $azulescuro = imagecolorallocate($imagem,0x00,0x00,0x80); // Desenhar linhas aleatórias for($i = 0;$i < 3;$i++) imageline($imagem,rand(0,99),rand(0,99),rand(0,99),rand(0,99), $vermelhoescuro); for($i = 0;$i < 3;$i++) imageline($imagem,rand(0,99),rand(0,99),rand(0,99),rand(0,99),$verdeescuro); for($i = 0;$i < 3;$i++) imageline($imagem,rand(0,99),rand(0,99),rand(0,99),rand(0,99),$verde); // Escrever palavra-passe aleatória for($i = 0;$i < 4;$i++) imagestring($imagem,5,32 + 10 * $i,32+rand(-5,5),rand(1,9),$azulescuro); // Finalizar a imagem imagepng($imagem); exit(); ?>
  • 6. CAPTCHA <?php // exemplo_captcha2.php // Requisitos mínimos if(!function_exists("gd_info")) { echo "Biblioteca GD não instalada."; exit(); } header('Content-type: image/png'); // Criar a imagem $imagem = imagecreate(100,100); // Criar a paleta de cores $amarelo = imagecolorallocate($imagem,0xFF,0xFF,0x00); $vermelhoescuro = imagecolorallocate($imagem,0x80,0x00,0x00); $verdeescuro = imagecolorallocate($imagem,0x00,0x80,0x00); $verde = imagecolorallocate($imagem,0x00,0xFF,0x00); $azulescuro = imagecolorallocate($imagem,0x00,0x00,0x80); // Desenhar linhas aleatórias for($i = 0;$i < 3;$i++) imageline($imagem,rand(0,99),rand(0,99),rand(0,99),rand(0,99), $vermelhoescuro); for($i = 0;$i < 3;$i++) imageline($imagem,rand(0,99),rand(0,99),rand(0,99),rand(0,99),$verdeescuro); for($i = 0;$i < 3;$i++) imageline($imagem,rand(0,99),rand(0,99),rand(0,99),rand(0,99),$verde); // Escrever palavra-passe aleatória for($i = 0;$i < 4;$i++) imagestring($imagem,5,32 + 10 * $i,32+rand(-5,5),rand(1,9),$azulescuro); // Finalizar a imagem imagepng($imagem); exit(); ?>