이미지 썸네일의 PNG 투명도 손실
imagecreatefrompng() 함수를 사용하여 GD 라이브러리로 썸네일을 생성할 때 사용자에게 다음과 같은 문제가 발생했습니다. PNG의 투명한 배경이 단색 검정색으로 대체됩니다. 이 문제를 해결하려면 코드를 검토하고 해결책을 찾아보겠습니다.
제공된 코드는 이미지 크기를 효과적으로 조정하고 JPEG로 저장합니다. 그러나 문제는 imagecreatetruecolor() 함수를 사용하여 대상 이미지($dimg)를 초기화하는 데 있습니다. PNG 이미지의 투명도를 유지하려면 추가 단계가 필요합니다. 코드의 수정된 버전은 다음과 같습니다.
<code class="php">$dimg = imagecreatetruecolor($width_new, $height_new); // Start changes for PNG transparency switch ($stype) { case 'gif': case 'png': // Define black as a color $background = imagecolorallocate($dimg, 0, 0, 0); // Make black transparent imagecolortransparent($dimg, $background); // Disable blending to avoid mixing black with the image imagealphablending($dimg, false); // Enable alpha channel preservation imagesavealpha($dimg, true); break; default: break; } // End changes $wm = $w/$nw; $hm = $h/$nh;</code>
이러한 단계를 추가하면 다음이 보장됩니다.
위 내용은 imagecreatefrompng()를 사용할 때 PNG 썸네일의 투명도가 떨어지는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!