알파 손실 없이 PHP에서 투명도를 사용하여 PNG 크기를 조정하는 방법
PHP에서 투명도를 사용하여 PNG 이미지 크기를 조정하려고 하면 많은 사용자에게 문제가 발생합니다. 배경색이 검은색으로 바뀌면서요. 이 문서에서는 이 문제를 해결하고 솔루션을 제공할 것입니다.
투명도를 할당하기 전에 이미지 혼합 모드와 알파 채널 저장 플래그를 적절하게 설정하는 것이 핵심입니다.
업데이트된 코드는 다음과 같습니다.
function resizePNG($image, int $newWidth, int $newHeight) { // Create a new true color image $newImg = imagecreatetruecolor($newWidth, $newHeight); // Disable blending and enable alpha saving imagealphablending($newImg, false); imagesavealpha($newImg, true); // Allocate transparent color $transparent = imagecolorallocatealpha($newImg, 255, 255, 255, 127); // Fill the new image with transparent color imagefilledrectangle($newImg, 0, 0, $newWidth, $newHeight, $transparent); // Get the width and height of the original image $src_w = imagesx($image); $src_h = imagesy($image); // Copy and resize the original image onto the new image imagecopyresampled($newImg, $image, 0, 0, 0, 0, $newWidth, $newHeight, $src_w, $src_h); // Return the new resized image return $newImg; }
이 업데이트된 코드를 사용하면 투명도가 포함된 PNG 이미지의 크기를 알파 채널에 영향을 주지 않고 조정할 수 있으므로 투명도를 보장할 수 있습니다. 보존됩니다.
위 내용은 알파 손실 없이 PHP에서 투명도로 PNG 크기를 조정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!