>백엔드 개발 >PHP 튜토리얼 >PHP의 GD 라이브러리를 사용하여 PNG 이미지 크기를 조정할 때 어떻게 투명도를 유지할 수 있습니까?

PHP의 GD 라이브러리를 사용하여 PNG 이미지 크기를 조정할 때 어떻게 투명도를 유지할 수 있습니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-09 01:36:12295검색

How Can I Preserve Transparency When Resizing PNG Images with PHP's GD Library?

GD의 imagecopyresampled를 사용하여 리샘플된 PNG 이미지의 투명도 유지

PHP에서 GD 라이브러리는 이미지 크기 조정을 위한 imagecopyresampled 함수를 제공합니다. 그러나 투명한 영역이 있는 PNG 이미지와 함께 사용하면 투명도가 손실되고 단색으로 대체되는 경우가 많습니다.

이 문제를 해결하려면 다음 단계가 중요합니다.

  1. 알파 블렌딩 비활성화:
    크기를 조정하기 전에 false를 인수로 사용하여 imagealphablending 함수를 사용하여 알파 블렌딩을 비활성화합니다. 이렇게 하면 소스 이미지의 색상과 대상 이미지의 색상이 혼합되는 것을 방지할 수 있습니다.
  2. 알파 저장 활성화:
    true를 사용하여 imageavealpha를 호출하여 크기 조정된 이미지에서 알파 투명도가 유지되는지 확인하세요. 논쟁. 이는 대상 이미지에 투명도 정보를 유지하도록 지시합니다.

다음은 이러한 조정을 통합하는 업데이트된 코드 조각입니다.

$srcImage = imagecreatefrompng($uploadTempFile);
$targetImage = imagecreatetruecolor(128, 128);
imagealphablending($targetImage, false);
imagesavealpha($targetImage, true);

imagecopyresampled(...);

이러한 조치를 구현하면 크기가 조정된 PNG 이미지가 투명성을 정확하게 유지합니다.

위 내용은 PHP의 GD 라이브러리를 사용하여 PNG 이미지 크기를 조정할 때 어떻게 투명도를 유지할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.