imagecreatefrompng()가 투명한 영역 대신 검은색 배경을 생성합니까?
PHP에서 imagecreatefrompng() 함수는 PNG 작업에 일반적으로 사용됩니다. 이미지. 그러나 이 기능을 사용하면 PNG 투명도가 단색 검정색으로 변환될 수 있는 것으로 관찰되었습니다.
이 문제를 해결하려면 imagecreatetruecolor()를 사용하여 새 캔버스를 만든 후 다음 단계를 구현할 수 있습니다.
By 이러한 수정 사항을 구현하면 PNG 이미지의 알파 채널 정보가 유지되어 검정색 배경으로 변환되지 않습니다. 업데이트된 코드는 다음과 유사합니다.
<code class="php"><?php // ... Before imagecreatetruecolor() $dimg = imagecreatetruecolor($width_new, $height_new); // png ?: gif // start changes switch ($stype) { case 'gif': case 'png': // integer representation of the color black (rgb: 0,0,0) $background = imagecolorallocate($dimg , 0, 0, 0); // removing the black from the placeholder imagecolortransparent($dimg, $background); // turning off alpha blending (to ensure alpha channel information // is preserved, rather than removed (blending with the rest of the // image in the form of black)) imagealphablending($dimg, false); // turning on alpha channel information saving (to ensure the full range // of transparency is preserved) imagesavealpha($dimg, true); break; default: break; } // end changes $wm = $w/$nw; $hm = $h/$nh; // ...</code>
위 내용은 imagecreatefrompng()가 투명한 영역 대신 검정색 배경을 생성하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!