PHP: прозрачный фон - PullRequest
       18

PHP: прозрачный фон

2 голосов
/ 02 апреля 2012
$c = 'johnny-bravo.png'; //transparent bg
$imagesize = getimagesize($c);

$background = imagecreatefrompng('background.png'); //background
$char = imagecreatefrompng($c);

imagealphablending($char, false);
imagesavealpha($char, true);

imagecopymerge($background, $char, 260, 17, 0, 0, $imagesize[0], $imagesize[1], 100);

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

imagepng($background);
imagedestroy($background);

Вывод:

http://i.stack.imgur.com/0E7Lz.png

Как сделать прозрачный фон для "johnny-bravo"?

1 Ответ

0 голосов
/ 02 апреля 2012

используйте ниже код:

$c = 'johnny-bravo.png'; //transparent bg
$imagesize = getimagesize($c);

$tmp = @imagecreatetruecolor( $imagesize[0],  $imagesize[1] );
@imagealphablending( $tmp , false );
@imagesavealpha( $tmp , true );
$background = @imagecreatefrompng('background.png');

@imagecopyresampled( $tmp , $background , 0 , 0 , $imagesize[0] , $imagesize[1] , $imagesize[0] , $imagesize[1] );
$char = @imagecreatefrompng($c);
@imagecopyresampled($tmp , $char, 260, 17, 0, 0, $imagesize[0], $imagesize[1], 100);

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

imagepng($tmp);
imagedestroy($tmp);
...