Jump to content


Photo

Criando Imagens Usando Php


  • Faça o login para participar
37 replies to this topic

#16 thiagorsl

thiagorsl

    Ex-admin xD

  • Ex-Admins
  • 1151 posts
  • Sexo:Não informado
  • Localidade:Sampa
  • Interesses:http://sermaldito.amovoce.net/

Posted 08/08/2004, 18:47

Não tenho como pegar as imagens de uma pasta criar a miniatura delas sem salva-las e fazer a listagem?

Claro que dá,

vamos supor que as imagens serem geradas pela URL entaum irá o $_GET para pegar o caminho da imagem no script pegando o caminho e chamando a imagem assim

<img src="arquivo.php?imagem=pasta/12354.jpg">

Ele pega a imagem se chamar outra URL ele pega outra e vai gerar outra automaticamente para listar faça isso chame o arquivo mudando a "origem" do thumb e pronto ;)

#17 Bittencourt

Bittencourt

    12 Horas

  • Usuários
  • 233 posts
  • Sexo:Não informado
  • Localidade:Rio de Janeiro - RJ
  • Interesses:Linguagem PHP eternamente!!!!

Posted 17/08/2004, 10:30

Fala Galera!!!

Peguei o script aqui mesmo para listar as imagens de um diretório e gostaria de fazer uma concatenação com este daqui. Ou seja, pegar as imagens do diretório e gerar as miniaturas. Mas como ainda não sei nada de php gostaria da ajuda da galera... Aí vai o código da listagem que eu acho que foi feito pelo THIAGORLS:

<?
$dir="imagens/";//nome da pasta
$handle = opendir($dir); // abrindo a pasta
while ($res=readdir($handle)){// lendo o conteudo dela
$ext=explode(".",$res);//pegando a extensão 
echo ($ext[count($ext)-1]=="jpg") ? "<img src='$dir$res'>" : ""; //imprimindo na tela a imagem se for jpg
}
?>

Espero que alguém ajude!! TéMais!!!

#18 MastersRoX

MastersRoX

    EDITADO

  • Banidos
  • PipPipPipPipPipPipPipPip
  • 774 posts
  • Sexo:Não informado

Posted 09/09/2004, 16:57

esse code cria aquelas imagens ... com numeros e letras ?
q tem em foruns e sites geralmente, quando vc vai fazer o cadastro .. tenk digitar o codigo... é isso ?

#19 Stormbringer

Stormbringer

    I'd love to stay with you all

  • Ex-Admins
  • 2927 posts
  • Sexo:Não informado
  • Localidade:Goiânia - GO
  • Interesses:Atualmente: pesquisa e desenvolvimento de web-games

Posted 09/09/2004, 17:01

repondendo ao MastersRoX

uma validaçao simples, só com numeros, edite ao seu gosto... sei que é bem mais simples que aquelas com letras e numeros deformados com um fundo que pode confundir bots, mas funciona muito bem e a segurança é relativamente alta:

<?php

session_start();
$_SESSION['codigo'] = rand(1000,9999);
?>

<html>

<head>
<meta http-equiv="Content-Type"
content="text/html; charset=iso-8859-1">
<title>Autenticação por Imagen</title>
</head>

<body bgcolor="#FFFFFF">

<form method="POST" action="auth.php">
   <p><font size="2" face="Arial">Digite o código que aparece
   na imagem: <img src="imgauth.php" align="baseline"> 
   <input type="text" size="4" name="codigoimg"> 
   <input type="submit" name="B1" value="OK"></font></p>
</form>
<br><br><br>
</body>
</html>

logico que vc pode (deve) colocar o seu formulário inteiro... nesse exemplo só está o lance da imagem mesmo... nao esqueça de abrir a sessão(aquela parte do começo é obrigatoria... no caso fiz com 4 digitos, mas pode ter mais...


bom, o imgauth.php é o arquivo que gera a imagem:
<?php


session_start();
$codigo = $_SESSION['codigo'];

if (!extension_loaded('gd')) { dl('php_gd2.dll'); };
$im = imagecreate(40,18);
$background_color = imagecolorallocate($im, 0, 0, 0);//cor de fundo
$text_color = imagecolorallocate($im, 130, 140, 120);//cor da fonte
imagestring($im, 15, 2, 2, "$codigo", $text_color);

header("Content-type: image/png");
imagepng($im);
imagedestroy($im);

?>

e o auth.php a resposta do formulario:

<?php

session_start();
header("Content-type: text/html");
if ($codigoimg == $_SESSION['codigo']) { echo"Código OK"; } else { echo"Código errado"; }

?>

bom, esse exemplo está bem didático... se vc tem alguma experiencia com php deve conseguir entende-lo sem nenhum problema, mas estamos aih (y)

Edição feita por: Stormbringer, 09/09/2004, 17:07.

๑۩۞۩๑Let the Carnage Begin!!๑۩۞۩๑


#20 MastersRoX

MastersRoX

    EDITADO

  • Banidos
  • PipPipPipPipPipPipPipPip
  • 774 posts
  • Sexo:Não informado

Posted 09/09/2004, 17:59

UHHUHUhu
isso mesmo q eu queria veio, vlw ^^

mas como eu faco pra aumenta o tamanho da fonte ?
a cor da fonte e do fundo estão em RGB ?

$background_color = imagecolorallocate($im, 0, 0, 0);//cor de fundo
$text_color = imagecolorallocate($im, 130, 140, 120);//cor da fonte

vlw

#21 Stormbringer

Stormbringer

    I'd love to stay with you all

  • Ex-Admins
  • 2927 posts
  • Sexo:Não informado
  • Localidade:Goiânia - GO
  • Interesses:Atualmente: pesquisa e desenvolvimento de web-games

Posted 09/09/2004, 18:25

UHHUHUhu
isso mesmo q eu queria veio, vlw ^^

mas como eu faco pra aumenta o tamanho da fonte ?
a cor da fonte e do fundo estão em RGB ?

$background_color = imagecolorallocate($im, 0, 0, 0);//cor de fundo
$text_color = imagecolorallocate($im, 130, 140, 120);//cor da fonte

vlw

bom, por partes:

1) sim, é rgb, de 0 a 255

editando:

no imagestring, o segundo parametro é o "tamanho da fonte"... porem só é aceito de 1 a 5... se vc coloca um numero maior que 5, ele usa 5...


ha outras formas de fazer isso, usando fontes carregaveis(ver imageloadfont em http://br.php.net/ma...ageloadfont.php ) ou imagens representando os caracteres, mas isso merece um tópico novo com um tutorial só pra isso (y)

๑۩۞۩๑Let the Carnage Begin!!๑۩۞۩๑


#22 MastersRoX

MastersRoX

    EDITADO

  • Banidos
  • PipPipPipPipPipPipPipPip
  • 774 posts
  • Sexo:Não informado

Posted 09/09/2004, 18:57

imagestring($im, 15, 2, 2, "$codigo", $text_color);

eu mudei o valor, mas nao mudou nada :huh:

#23 Stormbringer

Stormbringer

    I'd love to stay with you all

  • Ex-Admins
  • 2927 posts
  • Sexo:Não informado
  • Localidade:Goiânia - GO
  • Interesses:Atualmente: pesquisa e desenvolvimento de web-games

Posted 09/09/2004, 19:08

imagestring($im, 15, 2, 2, "$codigo", $text_color);

eu mudei o valor, mas nao mudou nada  :huh:

pois eh... o valor MAXIMO é 5 e o minimo 1,
fora desses valores ele usa o valor válido mais proximo do que vc colocou...

uma outra alternativa é usar fontes true type:

imagettftext($im, 20, 0, 2, 2, $text_color, "/path/arial.ttf",  "$codigo");
para ver detalhes sobre a funçao imagettftext, visite:

http://br.php.net/ma...magettftext.php

a desvantagem é que vc tem que ter as fontes no formato ttf no seu servidor

editando:
o imgauth.php pode ficar assim:
<?php


session_start();
$codigo = $_SESSION['codigo'];

if (!extension_loaded('gd')) { dl('php_gd2.dll'); };
$im = imagecreate(100,50);
$background_color = imagecolorallocate($im, 0, 0, 0);//cor de fundo
$text_color = imagecolorallocate($im, 130, 140, 120);//cor da fonte
//imagestring($im, 10, 3, 15, "$codigo", $text_color);
imagettftext($im, 43, 0, 2, 45, $text_color, "ARIAL.TTF", "$codigo");
header("Content-type: image/png");
imagepng($im);
imagedestroy($im);

?>

nao esqueça que nesse exemplo, o arquivo ARIAL.TTF tem que estar no mesmo diretorio do script (y)

๑۩۞۩๑Let the Carnage Begin!!๑۩۞۩๑


#24 Danilo22

Danilo22

    12 Horas

  • Usuários
  • 199 posts
  • Sexo:Não informado

Posted 03/12/2004, 10:21

por exemplo eu fiz isso:

<?
include("path.php");
include ("confmsg.php");

$sql = mysql_query("SELECT * FROM mensagemfoto");
$dados= mysql_fetch_array($sql);

//criação dos thumbs

$imagem$dados['pagina']";//aqui a url da imagem que sera criada a miniatura

header("Content-type: image/jpeg");// Cabeçalho do Script para informar o tipo da imagem lembrando que se for gerar uma imagem ig vc tem que mudar o cabeçalho isso serve para qualquer tipo de imagem

$im = imagecreatefromjpeg($imagem); //criar uma amostra da imagem original

$largurao = imagesx($im);// pegar a largura da amostra

$alturao = imagesy($im);// pegar a altura da amostra

$alturad = 50; // definir a altura da miniatura em px

$largurad = ($largurao*$alturad)/$alturao;// calcula a largura da imagem a partir da

//altura da miniatura
$nova = imagecreatetruecolor($largurad,$alturad);//criar uma imagem em branco

imagecopyresized($nova,$im,0,0,0,0,$largurad,$alturad,$largurao,$alturao);//copiar

//sobre a imagem em branco a amostra diminuindo conforma as especificações da miniatura
imagejpeg($nova);//cria imagem jpeg

imagedestroy($nova);//libera a memoria usada na miniatura

imagedestroy($im);//




isto esta correto???

se estiver, como que eu faço pra mostrar a miniatura???

sendo que a imagem esta no $dados['pagina'].

obrigado

Edição feita por: Danilo22, 03/12/2004, 10:24.


#25 gmps

gmps

    Amsdã

  • Usuários
  • 969 posts
  • Sexo:Não informado

Posted 24/11/2005, 11:49

como dar um echo e exibir a imagem criada?
"Se você não puder ajudar, atrapalhe; afinal, o importante é participar..."

#26 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 25/11/2005, 04:06

Veja o que o manual diz sobre a função imagejpeg usada no script:

imagejpeg -- Envia a imagem para o borwser ou arquivo

Desde então, já que não foi informado o parametro para que a imagem seja enviada para um diretório, ela será exibida no browser.
Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29

#27 thim

thim

    People are strange, when you're a stranger

  • Usuários
  • 213 posts
  • Sexo:Masculino
  • Localidade:Itap da serra-sp
  • Interesses:Ganhar muito dinheiro com pouco esforço, hahuauhahu

Posted 30/11/2005, 15:09

Como eu faria para colocar Alguma coisa escrita nas imagens upadas?

Flou

#28 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 03/12/2005, 21:18

Conheça essa função:
http://www.php.net/imagestring
Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29

#29 hisamu

hisamu

    Normal

  • Usuários
  • 117 posts
  • Sexo:Não informado

Posted 05/12/2005, 10:50

legal o tuto ;)
o pessoal podia postar mais coisas sobre funções da GD, são sempre muito interessantes...

[]'s

#30 Nando

Nando

    Eta eta eta, brasileiro quer.. futibol, mulher e rock'n roll

  • Usuários
  • 916 posts
  • Sexo:Masculino
  • Localidade:Sapucaia do Sul - RS
  • Interesses:Não sou interesseiro.

Posted 18/02/2006, 05:53

Aí uma coisa que não foi pensada!!! (eu acho... :rolleyes: )

Aqui está correto dizer que:

header("Content-type: image/jpeg");// Cabeçalho do Script para informar o tipo da imagem

Até aí blz, mas e se for .gif!??!?! Como adicionar esse tipo de imagem? Pois adicionei aqui um .gif e dá como link quebrado sabem...

Eaí???
Qualquer dia será só 1 linha de assinatura! x) Aí vou deixar essa aki mesmo já pra garantir.
Fireworks: llllllllllllllllllllllllllllll (Jah mexo a tempo mas ando meio parado)
Dreamweaver: llllllllllllllllllllllllllllll (Braço direito enquanto programo)
Js: llllllllllllllllllllllllllllll (Recem iniciando)
PHP: llllllllllllllllllllllllllllll (Dinamic Punch!!)




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq