PHP에서 PNG 크기 조정 시 투명도 유지
PHP에서 배경이 투명한 PNG 이미지 크기를 조정할 때 투명도를 유지하는 것이 중요합니다. 유지. 그러나 많은 온라인 코드 샘플은 이를 제대로 구현하지 못하여 크기 조정 후 배경이 검은색으로 표시됩니다.
이 문제를 해결하려면 코드를 구체적으로 조정해야 합니다. imagecolorallocatealpha() 함수를 수행하기 전에 혼합 모드와 알파 채널 저장 플래그를 각각 false와 true로 구성하는 것이 중요합니다.
다음은 이러한 조정을 통합하는 업데이트된 코드 조각입니다.
<?php /** * https://stackoverflow.com/a/279310/470749 * * @param resource $image * @param int $newWidth * @param int $newHeight * @return resource */ public function getImageResized($image, int $newWidth, int $newHeight) { $newImg = imagecreatetruecolor($newWidth, $newHeight); imagealphablending($newImg, false); // Turn off blending imagesavealpha($newImg, true); // Turn on save alpha channel $transparent = imagecolorallocatealpha($newImg, 255, 255, 255, 127); imagefilledrectangle($newImg, 0, 0, $newWidth, $newHeight, $transparent); $src_w = imagesx($image); $src_h = imagesy($image); imagecopyresampled($newImg, $image, 0, 0, 0, 0, $newWidth, $newHeight, $src_w, $src_h); return $newImg; } ?>
이러한 수정을 통해 코드는 이후 PNG 이미지의 투명도를 효과적으로 유지해야 합니다. 크기 조정.
참고: 이 업데이트된 코드는 배경 불투명도가 0인 이미지에 대해서만 올바르게 작동합니다. 이미지의 불투명도가 0에서 100 사이인 경우 크기 조정 후 배경이 검은색으로 나타납니다.
위 내용은 PHP에서 PNG 크기를 조정할 때 투명성을 어떻게 유지할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!