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

diokhan

GD juntar imagens

Recommended Posts

diokhan

boas,

eu estou a tentar juntar duas imagens por GD, descobri a função "imagecopymerge", mas não funcionou como queria, ele devolvia uma das imagens e não as duas juntas numa só como pretendo.

alguém sabe uma outra solução para juntar duas imagens através do php automaticamente? sem o utilizador ter que intervir 🤔


...Join the dark side...and get a free cookie...

Share this post


Link to post
Share on other sites
scorch

Mostra o teu código. Podes ter alguma coisa mal e não ter reparado. ;)


scorch_pp.png

PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.

Share this post


Link to post
Share on other sites
diokhan

$source = imagecreatefrompng("images/legend.png");
$destination = imagecreatefrompng('images/graph/blastPat'.$rand.'.png');
imagecopymerge($destination, $source,0,0,0,0, imagesx($source), imagesy($source),100);
imagepng($destination, "images/legendGraph.png");
imagedestroy($destination);

penso que esteja certo, espero eu ;)

PS: alterei os nomes para facilitar a leitura, e uma outra questão, ao juntar as duas imagens ele mantém o tamanho de origem da imagem de destino certo? não altera o tamanho se a imagem final ficar maior pois não?


...Join the dark side...and get a free cookie...

Share this post


Link to post
Share on other sites
scorch

Ele devolve-te a segunda ($i2)?


scorch_pp.png

PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.

Share this post


Link to post
Share on other sites
diokhan

sim, devolve, neste caso a $destination, já consegui colocar a outra imagem na $destination, mas fica em cima, não tem como juntar as imagens mas a $source ficar no fim? do tipo, ampliar a imagem e no fim acrescentar uma "linha" por assim dizer e inserir a imagem 🤔


...Join the dark side...and get a free cookie...

Share this post


Link to post
Share on other sites
scorch

Mas queres junta-las uma ao lado da outra ou colocar uma em cima da outra com transparência?


scorch_pp.png

PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.

Share this post


Link to post
Share on other sites
diokhan

uma ao lado da outra, ou melhor, tenho a $destination, e logo abaixo dessa gostaria de juntar a $source, porque a $source é a legenda do gráfico da $destination que é gerado pelo meu script


...Join the dark side...and get a free cookie...

Share this post


Link to post
Share on other sites
diokhan

tipo, a legenda nunca muda, só o gráfico que é dinâmico, e pensei que o mais simples seria juntar as imagens


...Join the dark side...and get a free cookie...

Share this post


Link to post
Share on other sites
diokhan

A própria GD traz funções para escrever texto. Se for só isso, é mais simples.

http://pt2.php.net/manual/en/function.imagestring.php

mas a legenda que tenho não é em texto, mas numa imagem que ilustra o que significa cada cor do gráfico e o que significa os textos que la estão, são tipo imagens ilustrativas.

já consegui colocar a imagem por baixo do gráfico, basicamente a ideia que fiz foi, calcular a altura do gráfico mais a altura da legenda, e crio uma nova imagem com essa altura e a largura do gráfico, nessa nova imagem em branco junto o gráfico e depois junto a legenda por baixo, mas gostava de saber como posso fazer de forma directa, pelo que deste a entender yoda, é possível fazer tudo de uma vez só sem ter que andar as voltas como eu fiz


...Join the dark side...and get a free cookie...

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.