GD와 함께 PHP에서 다음 작업을 수행하려고합니다. ImageMagick은 불행히도 옵션이 아닙니다. 그러나 이것은 일반적인 문제인 것처럼 보입니다. 은 해결책이 될을 가지고 있습니다. 찾을 수없는 것 같습니다.PHP/GD - 투명 배경
투명한 배경으로 PNG를 만들고 싶습니다. 그런 다음 직사각형을 그려서 이미지를 복사하고 텍스트를 추가하고 싶습니다. 이 검은 색이 될 수있는 복사 된 이미지의 일부를 제외하고 잘 작동, 및/또는 텍스트가 검은 색 수 있습니다
$image = ImageCreateTrueColor (800, 600);
imagecolortransparent ($image, 0); //0 is pure black, the default fill color
imagerectangle (...);
//code to copy an image
imagettftext ($image, ...);
imagepng ($image);
다음과 같이이 일을하는 한 가지 방법이다. 이것은 또한 투명하게됩니다. 이것은 내가 이 아니며이 필요합니다.
imagefill ($image, 0,0, 0x7FFF0000);
imagetransparent ($image, 0x7FFF0000);
위의 코드는 내가 온라인에서 찾은 것으로 빨간색으로 채우고 빨간색을 투명하게 만듭니다. 다시 말하지만 이미지의 모든 빨간색이 투명 해집니다. 나는 발생할 가능성이 낮은 색상을 선택할 수는 있지만이를 보장 할 수는 없습니다.
내가 누락 된 자료가 있습니까? 이 문제를 해결할 수 있습니까? 답장을 보내 주셔서 감사합니다.
imagealphablending 기본값을 true로 트루 컬러 이미지에이 또한 : 다른 아무것도하지 않는다, 그래서 imagecreatetruecolor는 왜있는 검은 이미지를 생성 코드의 첫 번째 부분은 imagecolortransparent (0); – Spinal
이 경우, 귀하의 문제를 보지 못했습니다. 나는 센터에서 검은 색 직사각형을 그려서 위를 테스트했으며 주변의 투명도로 잘 작동합니다. –
정말요? 다음 코드를 시도해 보면 주변에 검은 색 사각형이 생기므로 뭔가 잘못된 것 같습니다. $ image = imagecreatetruecolor (800,600); imagealphablending ($ image, true); imagefilledrectangle ($ 이미지, 50, 50, 750, 550, imagecolorallocate ($ image, 0,0,128)); 헤더 ('Content-type : image/PNG'); imagepng ($ 이미지); – Spinal