괜찮 았어. 그래서 내 텍스트를 부분적으로 투명한 이미지 위에 놓는 데 문제가있다. 텍스트가 단색이되기를 원하지만 이미지의 배경 부분이 투명하고 텍스트 부분이 단색이어야합니다. 문제는 텍스트가 다음 중 하나의 투명 배경을 상속한다는 것입니다. 이전 레이어. 여기에 코드와 출력의 예가 나와 있는데, 그 출력 아래에 내가 원하는 것처럼 보입니다. 이미지는 밝은 회색 배경에 놓여 있으므로 어두운 회색 사이의 이미지 주위의 밝은 경계선은 투명하지만 다른 텍스트는 특히 텍스트 여야합니다. 텍스트 자체는 아니지만 텍스트 블록의 배경은 투명하게 보입니다. 당신이 볼 수 있듯이 그것은 그리 바람직하지 않습니다. 제발 도와주세요, 이것이 제가 프로젝트를 완료하기 위해 남긴 유일한 문제입니다. :)투명성/알파 배경을 가진 PHP GD 텍스트
는 에게아직 너무을 heres 예를 들어 출력의 이미지 링크 및 원하는 결과 (orig를) 이미지를 게시 할 수 없습니다 :
<?php
$img = imagecreatetruecolor(200, 50);
$imageX = imagesx($img);
$imageY = imagesy($img);
imagealphablending($img, false);
imagesavealpha($img, true);
$transparent = imagecolorallocatealpha($img, 255,255,255, 127);
$white = imagecolorallocate($img, 255,255,255);
$grey = imagecolorallocate($img, 127,127,127);
imagefilledrectangle($img, 0, 0, $imageX, $imageY, $grey);
imagefilledrectangle($img, 2, 2, $imageX-4, $imageY-4, $transparent);
$font = "./arialbd.ttf";
$fontSize = 12;
$text = "THIS IS A TEST";
$textDim = imagettfbbox($fontSize, 0, $font, $text);
$textX = $textDim[2] - $textDim[0];
$textY = $textDim[7] - $textDim[1];
$text_posX = ($imageX/2) - ($textX/2);
$text_posY = ($imageY/2) - ($textY/2);
imagefilledrectangle($img, 10, 10, $imageX-10, $imageY-10, $grey);
imagettftext($img, $fontSize, 0, $text_posX, $text_posY, $white, $font, $text);
header("Content-Type: image/png");
imagepng($img);
?>
실제로 나는 비슷한 문제가 있으며, 문자를 추가하기 전에 alphablending을 켜면 매력처럼 작동합니다! 감사! – ikhsan
옙,'imagecopyresampled()'로 크기를 바꾸기 전에 끄고,'imagettftext()'로 텍스트를 넣기 전에 다시 켜서 배경을 투명하게 유지하고 문자 주위에 회색 마름모를 피하십시오 – vladkras