"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > imagecreatefrompng()가 투명한 영역 대신 검정색 배경을 생성하는 이유는 무엇입니까?

imagecreatefrompng()가 투명한 영역 대신 검정색 배경을 생성하는 이유는 무엇입니까?

2024-11-08에 게시됨
검색:324

Why does imagecreatefrompng() Produce a Black Background Instead of a Transparent Area?

imagecreatefrompng() 투명 영역 대신 검은색 배경을 생성하시겠습니까?

PHP에서는 imagecreatefrompng() 함수가 PNG 작업에 일반적으로 사용됩니다. 이미지. 그러나 이 기능을 사용하면 PNG 투명도가 단색 검정색으로 변환될 수 있는 것으로 관찰되었습니다.

이 문제를 해결하려면 imagecreatetruecolor()를 사용하여 새 캔버스를 만든 후 다음 단계를 구현할 수 있습니다.

  1. 검은색 색상 할당: imagecolorallocate()를 사용하여 정수 변수에 검정색을 할당합니다. 함수.
  2. 투명도에서 검정색 제거: imagecolortransparent() 함수를 활용하여 검정색을 투명 색상으로 설정하여 효과적으로 보이지 않게 만듭니다.
  3. 알파 블렌딩 비활성화 : 알파 채널이 이미지의 채널과 혼합되는 것을 방지하려면 false 값으로 imagealphablending()을 사용하십시오. 색상.
  4. 알파 채널 보존 활성화: 전체 투명도 범위를 유지하려면 실제 값으로 Imagesavealpha()를 사용하십시오.

이러한 수정 사항을 구현하면 알파 PNG 이미지의 채널 정보는 검정색 배경으로 변환되지 않도록 유지됩니다. 업데이트된 코드는 다음과 유사합니다:

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3