0
두 이미지가 있습니다. 하나는 회전 된 폴라로이드 프레임 polaroid.jpg
의 jpg 이미지입니다. 다른 하나는 보통 이미지 image.jpg
입니다.배경 이미지 위에 이미지 회전
이미지를 회전시킨 다음 폴라로이드 이미지 위에 놓고 병합 된 이미지를 하나의 JPG 이미지로 표시하려고합니다.
나는 다음 코드와 매우 흡사하다고 생각하지만 투명성을 유지할 수는 없다. 회전 된 이미지의 숨겨진 영역은 투명 대신 검정색입니다. 내가 도대체 뭘 잘못하고있는 겁니까? 상단 이미지에 대해 투명한 배경을 얻는 것과 관련있는 행에 주석을 추가했습니다.
$bg_src = "polaroid.jpg";
$img_src = "image.jpg";
$outputImage = imagecreatefromjpeg($bg_src);
$img = imagecreatefromjpeg($img_src);
// This should create transparent background.
$bgd_color = imagecolorallocatealpha($img, 0, 0, 0, 127);
// This should assign the transparent background to the uncovered zone after rotation
$img = imagerotate($img, 10, $bgd_color);
// This should make sure the alpha transparency gets saved
imagesavealpha($img, true);
$img_x = imagesx($img);
$img_y = imagesy($img);
imagecopymerge($outputImage,$img,156,50,0,0,$img_x,$img_y,100);
header('Content-type: image/jpeg');
imagejpeg($outputImage);
imagedestroy($outputImage);