좋아, 나는 몇 달 동안 GD Image로 해킹 해왔고, 내가 수행하고자했던 작업은 기존 이미지를 취하는 스크립트를 만드는 것이었다. 그것의 아래에 반투명하게 사라지는 반사.
은 다음 가이드는 불투명 한 색상으로 작업을 수행하는 방법을 보여줍니다 :PHP GD의 반투명 이미지 리플렉션
// Next we draw a GD line into our gradient_line
imageline ($gradient_line, 0, 0, $imgName_w, 0, $gdGradientColor);
$i = 0;
$transparency = 30; //from 0 - 100
while ($i < $gradientHeight) //create line by line changing as we go
{
imagecopymerge ($background, $gradient_line, 0,$gradient_y_startpoint, 0, 0, $imgName_w, 1, $transparency);
++$i;
++$gradient_y_startpoint;
if ($transparency == 100) {
$transparency = 100;
}
else
{
// this will determing the height of the
//reflection. The higher the number, the smaller the reflection.
//1 being the lowest(highest reflection)
$transparency = $transparency + 1;
}
}
: 그 포럼에서
TalkPHP Forums Link
, Rendair는 다음과 같은 PHP 코드와 함께, 색상을 사용하여 동적으로 그려 그라데이션을 오버레이하는 방법을 설명합니다
내가 성취하려고 시도하는 것은 유사하게 알파 피쳐를 사용하여 각 라인을 더 반투명 한 하나의 음영으로 퇴색시키는 효과이지만, 한 번에 한 라인 씩 적용하는 것이 어려워 보인다. 지금까지는 이미지의 작은 부분 (한 줄은 큰 부분) 만 만들어서 반투명 한 부분으로 덮어 씌울 수 있었기 때문에 각 줄을 조금씩 색 바래는 것처럼 보일 수는 없습니다. 그래서 내 의도 된 결과가 초기 이미지가되어야하고, 100 % 알파 투명하게 페이드 된 반영된 사본이되어야하지만, 이것을 달성 할 수는 없습니다.
거기에있는 PHP 사람들은 천재성 아이디어가 있습니까?
업데이트 :이 질문은 저에게 tumbleweed 배지를 받았습니다.
이것은 아주 멋진 생각과 내가 그것에 대한 해결책을 가지고 _think_ ... 몇 가지 코드를 테스트하고 돌아올 것입니다. – shadowhand
아, 물어봐야 겠어 ... 이미지의 높이를 두 배로 늘리시겠습니까 (위의 표준 이미지, 아래 뒤집기 및 뒤집힌 반사)? – shadowhand
둘 중 하나는 괜찮을 것입니다. 아마도 더 쉬운 것은 무엇이든 하프 사이즈로 압축 할 수 있습니다. 마스크를 적용하는 방법을 알아낼 수 없거나 한 번에 한 줄씩 렌더링하고 매번 불투명도를 낮추거나 로그 함수를 사용하여 매끄럽게 또는 다른 방식으로 수행해야하는 경우에는 문제가 될 수 있습니다. 한 줄을 지나서는 안되는 것처럼 보일 수는 있습니다. 한 장만 삽입하는 방식으로 뭔가를 쓰고 있어야합니다. – NateDSaint