Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

RSS iMasters

[Resolvido] Juntando duas imagens com PHP

Recommended Posts

Recentemente para um projeto na movin' on precisei juntar duas imagens para gerar um PDF delas.

Para gerar o PDF é bem tranquilo, mas juntar as imagens já é um pouco mais complicado. Quer dizer, não é tão complicado assim, mas não encontrei nenhum artigo em português sobre isso. Dessa forma, resolvi escrever este.

Farei o passo a passo para quem está começando. Se você já quiser o código pronto, vá até o final do artigo.

Primeiramente, você precisa das suas duas imagens. A imagem de fundo e a imagem que quer juntar. 

Imagem de fundo: 

40796.jpg

Imagem que quer juntar:

40797.gif

$backgroundSource = "http://www.64bitjungle.com/wp-content/themes/openbook22-en/images/rss-subscribe.jpg";

$feedBurnerStatsSource = "http://feeds2.feedburner.com/~fc/64BitJungle?bg=151515&fg=ffffff&anim=0";

As duas linhas que informam a biblioteca GD para criar as imagens na "memória do php" são as seguintes:

$outputImage = imagecreatefromjpeg($backgroundSource);

$feedBurnerStats = imagecreatefromgif($feedBurnerStatsSource);

Segui o exemplo do artigo original e criei a imagem jpg e outra gif, mas você pode mudar isso para o que achar melhor.

Depois disso você precisa saber as dimensões da imagem que deseja juntar com a sua imagem. Para pegar as dimensões devemos usar imagesx e imagesy:

$feedBurnerStatsX = imagesx($feedBurnerStats);

$feedBurnerStatsY = imagesy($feedBurnerStats);

Agora acontece a mágica, imagecopymerge (combina as duas imagens):

imagecopymerge($outputImage,$feedBurnerStats,156,50,0,0,$feedBurnerStatsX,$feedBurnerStatsY,100);

Pronto, dessa forma, você já tem a imagem mesclada no formato PNG:

header('Content-type: image/png');

imagepng($outputImage);

imagedestroy($outputImage);

Veja o código abaixo, ele é o código necessário para juntar as imagens PNG:

<?php

//Set the Image source variables

$backgroundSource = "http://www.64bitjungle.com/wp-content/themes/openbook22-en/images/rss-subscribe.jpg";

$feedBurnerStatsSource = "http://feeds2.feedburner.com/~fc/64BitJungle?bg=151515&fg=ffffff&anim=0";

//Create new images

$outputImage = imagecreatefromjpeg($backgroundSource);

$feedBurnerStats = imagecreatefromgif($feedBurnerStatsSource);

//Grab width and height of the FeedBurner image

$feedBurnerStatsX = imagesx($feedBurnerStats);

$feedBurnerStatsY = imagesy($feedBurnerStats);

//Merge the two images

imagecopymerge($outputImage,$feedBurnerStats,156,50,0,0,$feedBurnerStatsX,$feedBurnerStatsY,100);

//Output header

header('Content-type: image/png');

//send new image to browser

imagepng($outputImage);

imagedestroy($outputImage);

?>

Até o próximo!

 

http://imasters.com.br/artigo/22098/php/juntando-duas-imagens-com-php

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.