2010-12-22 2 views
0

안녕하세요 두 개의 투명 png-24 이미지 (크기 400width, 150height)를 결합하려고합니다.PHP를 사용하여 2 png-24 투명 이미지 결합

배경 : [ "http://www.fenixflame.net/Background-Zanaris-24.png"][1]

내가 어도비에게 배경을 오버레이 할 이미지 : ["HTTP : //www.fenixflame.net/Bandos-Slayer-24.png "] [2]

나는 png-8 이미지만을 사용하여 투명 이미지를 오버레이하려고 시도했다. 이미지가 올바르게 렌더링되지 않기 때문에 png-8을 사용할 수 없습니다.

편집 : 코드는 내가 tryed했습니다

$image = imagecreatefrompng("http://www.fenixflame.net/Background-Zanaris-24.png"); 
$frame = imagecreatefrompng("http://www.fenixflame.net/Bandos-Slayer-24.png"); 
// 
//imagealphablending($frame,true); 
// 
$insert_x = imagesx($frame); 
    $insert_y = imagesy($frame); 
    imagecopymerge($image,$frame,0,0,0,0,$insert_x,$insert_y,100); 
// 
//# Save the image to a file imagepng($image, '/path/to/save/image.png'); 
imagepng($image, "/home1/fenixfla/public_html/Images/Signatures/NewImageBG.png"); 
// 
//# Output straight to the browser. 
imagepng($image); 
// 
+0

어떤 라이브러리를 사용하고 있습니까? – yoda

+0

나는 PHP 녀석이 아니라면 정말로 모른다. 기본값이 있다고 생각 하나? – Dangerosking

답변

8

나는이 링크에서 두 개의 투명한 이미지를 병합하는 작은 예를 쓰기가 scitam.com

이 코드를 사용해도 올바르게 작동합니다.

 

    $width = 200; 
    $height = 200; 

    $base_image = imagecreatefromjpeg("base.jpg"); 
    $top_image = imagecreatefrompng("top.png"); 
    $merged_image = "merged.png"; 

    imagesavealpha($top_image, true); 
    imagealphablending($top_image, true); 

    imagecopy($base_image, $top_image, 0, 0, 0, 0, $width, $height); 
    imagepng($base_image, $merged_image); 

2

GD 라이브러리를 사용하여 이미지를 렌더링하고 PHP로 출력하십시오. http://www.php.net/manual/en/ref.image.php

그 후 꽤 털이납니다.

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

등의 작업을 시작해야하며 투명도가 올바른지 확인해야합니다.

당신은 내가 그들의 프론트 페이지 here에 클라이언트 방식으로했던 것을 볼 수 있습니다. 그것은 지루하고 지루한 고통이었습니다. 재밌게

2

어떻게 LIB ImageMagick이 복합을 (http://www.imagemagick.org/script/composite.php) 사용에 대한

function composite() { 
     $command = "/usr/local/bin/composite [... your properties...]"; 
     exec($command, $output, $result); 
     return ($result == 0 && $output[0] == ""); 
    } 
관련 문제