그레이스케일 SVG가 알파로 변환될 때 왜 덜 밝아지나요?
P粉986937457
P粉986937457 2024-02-26 18:01:19
0
1
286

SVG를 사용하여 투명한 "별이 빛나는 밤" 효과를 만들려고 합니다. 웹 페이지의 검정색 배경 요소 내에 SVG를 인라인으로 배치했습니다. 난류 필터로 시작한 다음 색상 매트릭스를 적용하여 원하는 효과를 얻었습니다.

으아아아

...주어진:

하지만 여기에는 알파 투명도가 없습니다. 검정색 배경에 있고 불투명도가 낮아야 밝기가 감소하는 흰색 픽셀 평면을 표현하고 싶습니다. 그래서 이를 위해 두 번째 필터를 통과시켰습니다:

으아아아

...주어진:

매우 비슷하지만 약간 더 어둡습니다. 왜 조금 더 어두워졌나요? 검정색 배경에 겹쳐지면 논리적으로 동일한 픽셀 색상이 생성되어야 하지 않나요?

P粉986937457
P粉986937457

모든 응답(1)
P粉432930081

Robert가 위에서 지적했듯이 색상 공간 변환은 이상한 동작을 생성할 수 있습니다. 두 번째 색상 매트릭스 이후에는 픽셀이 실제로 더 밝아져야 합니다. SQRT(1/2.2)를 지수 값으로 사용하여 추가 feComponentTransfer를 추가하면 이 문제를 해결할 수 있는 것 같습니다.

으아아아
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿