Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

diokhan

GD juntar imagens

Mensagens Recomendadas

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...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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...

Partilhar esta mensagem


Ligação 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

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.