• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

pedrotuga

Imagem com PHP

28 mensagens neste tópico

Bem... ainda n se falou muito disto aqui nos fórums,  na verdade acho que só faz sentido trabalhar com imagemem php qdo se tem uma equipa... para projectos individuais é um exagero levar a coisa a esse ponto. Salvo claro, situações em que a imagem é a parte central do script, como por exmeplo numa galeria de fotos.

Anyway... a libraria mais usada é mesmo a GD...acho que á uma magik n sei quantos tb...

Aqui vai um site com uns exemplos muito bons e funções que podemos sacar e usar a nosso belo prazer:

http://phpgd.com/index.php?pf=tab

Ja agora fica aqui um exemplo de uma imagem gerada com GD

<?php

function make_image($text, $w, $h)
    {
    
    $x=15;
    $y=40;
    $size=20;
    
    $fontfile="VERDANA.TTF";
    $angle=3;

    header ("Content-type: image/png");
    $im = @imagecreate ($w, $h) or die ("Cannot Initialize new GD image stream");
    
    $background_color = imagecolorallocate ($im, 44, 44, 250);
    $text_color1 = imagecolorallocate ($im, 0, 0 ,  0);
    $text_color2 = imagecolorallocate ($im, 255, 255,  255);
    
    ImageTTFText ($im, $size, $angle, $x+2, $y+2, $text_color2, $fontfile, $text);
    ImageTTFText ($im, $size, $angle, $x, $y, $text_color1, $fontfile, $text);
    imagepng ($im);
    imagedestroy ($im);
    }

//posto isto vamos gerar  imagem===========================
$text="Portugal-a-Programar.org";
make_image($text,380,50);
?>

e aqui fica a imagem gerada por este pequeno script :P

image.png

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já se falou alguma coisa disso quando eu criei o sistema de sigs cá para o forum :P Aquilo é tudo feito com GD lib :P

É uma lib muito util, eu já a usei para fazer gráficos (também já postei um tuturial que mostra como fazer gráficos em flash e php, sem GD lib), pode-se fazer modificações nas imagens, desde reduzir, adicionar texto, entre outros :)

Aconselho mesmo :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

aah! então foste tu que fizeste a cenas das assinaturas :P

vou aqui aficar um exemplo basico para o pessoal ver.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
e aqui fica a imagem gerada por este pequeno script Wink

Não consigo ver a imagem...  :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

é a imagem azul que diz portugal-a-programar em letras pretas :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
e aqui fica a imagem gerada por este pequeno script Wink

Não consigo ver a imagem...  :P

Vê se o teu servidor tem suporte para a GD Lib :)

Cria um ficheiro em branco com:

<?
phpinfo();
?>

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

eu gerei a imagem, guardei e pu-la no imageshack.us... mas agora já não esta a aparecer nada... coisa estranha... ha pouco dava agora n da...

vou po-la noutro sitio... o que interessa é mesmo  output.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

(...) na verdade acho que só faz sentido trabalhar com imagemem php qdo se tem uma equipa... para projectos individuais é um exagero levar a coisa a esse ponto.(...)

ou eu não percebi, ou discordo completamente disto...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

(...) na verdade acho que só faz sentido trabalhar com imagemem php qdo se tem uma equipa... para projectos individuais é um exagero levar a coisa a esse ponto.(...)

ou eu não percebi, ou discordo completamente disto...

Da-me aí um exemplo de um projecto pessoal que não seja baseado em imagem ( como a cena das assinaturas ) e que justifique o uso e imagem.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

o meu fotolog? mas que é que isso tem a ver? apenas uso GD para criar thumbnails a partir das imagens submetidas... mas axo que não estou a perceber bem o que tu queres dizer...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O que eu estou a dizer é que uma gajo esta a fazer uma aplicação web, só precisa de imagem se a aplicação for relacionada com imagem, como é o caso de um fotolog.

mmm.. ok bem... estou aki a lembrar.me que iso tambem pode ser util para visualização de dados estatisticos de forma grafica.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

É um caso, outro são os grafs do http://folding.extremeoverclocking.com.

A principal utilização da biblioteca gd em php é mm sigs e stats, e isso só aparece normalmente em foruns que tem sempre uma equipa e não um só gajo pro traz.

No entanto eu estou a trabalhar sózinho e também utilizo a gd para fazer scatter plots.

http://edumad.freehostia.com/TheBin/conca1_Group_1_KINETICS_1.png

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas!

Ainda sou novato em php, e estou a tentar implementar uma galeria de fotos, mas até agora a solução que tentei não deu frutos...

A solução que tentei implementar era simples, baseava-se em manipular atravez de 2 botões o nome da imagem a exibir (os nomes das imagens eram numeros seguidos ex: 1.jpg 2.jpg)

<img src=imagens/"<?php echo $foto; ?>.jpg" width="600" height="480" />

Sempre que o botão "proxima" era premido a variavel $foto += $foto

Sempre que o botão "anterior" era premido a variavel $foto -= $foto

claro que depois tinha de ter limites para que a variavel $foto não excedesse os valores dos nomes das imagens (mas a questão não está aqui)

Esta solução falhou porque não consegui implementar variaveis com estado (em que o seu valor actual depende do seu passado).

Mas como é obvio esta solução também não é muito eficaz porque sempre que eram adicionadas fotos à galeria tinha de andar a alterar o codigo (definir novos limites para a variavel $foto)

Alguem me pode ajudar com outra solução para este problema?

Pelo que percebi a biblioteca GD é muito util para manipular imagens, como posso compilar o meu php para suportar essa biblioteca?

Tks

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não tens que compilar nada. Podes ter que adicionar suporte para a libraria GD.Mas já deve estar tudo ok por defeito.

Copia o código que eu colei no tópico inicial para um ficheiro .php, aponta o teu browser para esse ficheiro, se vires uma imagem a dizer: portugal-a-programar então é porque está tudo ok.

Quanto ao teu problema... epa... tens k por os nomes dos ficheiros para dentro de um array e depois construir esses links usando uma cena do tipo

<?php
echo '<a href="$nomes_d_ficheiros[i-1]">anterior</a>';
echo '<a href="$nomes_d_ficheiros[i-1]">proximo</a>';
?>

para pores os nomes dos ficheiros para dentro de um array usa uma cena do tipo

<?php
   while (false !== ($file = readdir($handle))) {
       $nomes_dos_ficheiros[]=$file;
   }
?> 

já agora dá uma olhadela no manual aqui

http://pt.php.net/manual/en/function.readdir.php

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não tens que compilar nada. Podes ter que adicionar suporte para a libraria GD.Mas já deve estar tudo ok por defeito.

Copia o código que eu colei no tópico inicial para um ficheiro .php, aponta o teu browser para esse ficheiro, se vires uma imagem a dizer: portugal-a-programar então é porque está tudo ok.

Não consigo ver a imagem, como é k faço para dar suporte para GD?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ui... epa... lamento mas n sei... nas minhas instalações do php isso já vinha.

olha lá usas linux ou windows? em linux é mais facil no windows nem sei bem como se instalam modulos/bibliotecas.

Lamento dizer isto mas.. google...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ui... epa... lamento mas n sei... nas minhas instalações do php isso já vinha.

olha lá usas linux ou windows? em linux é mais facil no windows nem sei bem como se instalam modulos/bibliotecas.

Lamento dizer isto mas.. google...

To a usar em windows, instalei o easyPHP k configura logo php, mysql e apache.

Vo ver se descubro

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas, em termos de escrever texto para escolhere fontes do tipo Verdana, Arial etc o servidor tem de ser windows certo?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Duas dúvidas:

1ª - como posso adaptar o código para que crie o nome em cima de uma imagem que eu tenha?

2ª - como faço para que o utilizador escreva num campo o que quer que apareça em vez de ter de editar o campo?

espero feedback

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

1ª duvida: Utilizas o codigo do 1º post deste topic, mas em vez de usares o imagecreate() usas imagecreatefromjpeg(), imagecreatefrompng() etc... [mor info: Manual PHP

2ª duvida, nao percebi o que pretendes, explica-te melhor ;)

Cheers!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tipo aqui tu mal abres a página aparece-te logo a imagem e o texto certo? Mas eu queria que tivessemos tipo um formulário onde o que se escrevesse no campo e depois de confiramado iria aparecer n imagem entends?

thks pela outra resposta  ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se bem etendi deve ser isto:

<?php

function make_image($text, $w, $h)
    {
    
    $x=15;
    $y=40;
    $size=20;
    
    $fontfile="VERDANA.TTF";
    $angle=3;

    header ("Content-type: image/png");
    $im = @imagecreate ($w, $h) or die ("Cannot Initialize new GD image stream");
    
    $background_color = imagecolorallocate ($im, 44, 44, 250);
    $text_color1 = imagecolorallocate ($im, 0, 0 ,  0);
    $text_color2 = imagecolorallocate ($im, 255, 255,  255);
    
    ImageTTFText ($im, $size, $angle, $x+2, $y+2, $text_color2, $fontfile, $text);
    ImageTTFText ($im, $size, $angle, $x, $y, $text_color1, $fontfile, $text);
    imagepng ($im);
    imagedestroy ($im);
    }

//posto isto vamos gerar  imagem===========================
$text= $_POST['texto'];
make_image($text,380,50);
?>

alterei apenas o $text, em que o conteudo da variavel vai repender do que for introduzido no campo "texto".

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

já consegui fazer! fiz para enviar de outro .php para aquele o texto e aparece certinho :)

já consegui fazer para alterar o primeiro código mas quanto ao das imagens ainda nepia, aquilo n da nada  :thumbdown:! sou mesmo fraquinho AINDA :) em php

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora