好的,我一直在用GD Image進行幾個月的黑客攻擊,我想完成的一項任務是創建一個腳本,它接收現有圖像,然後創建一種反射在它下面變得透亮。
以下指南顯示瞭如何用不透明的顏色做:TalkPHP Forums Link
在該論壇上,Rendair描述了一種使用顏色,用下面的PHP代碼,以覆蓋一個動態繪製漸變: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;
}
}
我試圖完成的效果是,我們使用alpha特徵將每條線逐漸淡入一個更透明的線條,但似乎我很難一次將其應用於一條線。到目前爲止,我只能對圖像進行一小部分(一行很大),然後用半透明的圖像進行覆蓋,但我似乎無法將每行更多地淡化。所以我的預期結果應該是最初的圖像,然後是一個反射的副本,可以淡化到100%alpha透明,但我似乎無法完成此任務。
任何PHP的人誰有任何天才的想法?
更新:這個問題爲我贏得了風滾草徽章。
這是一個非常酷的想法,我_think_我有這方面的解決方案...我會測試一些代碼並回來。 – shadowhand 2009-07-15 16:15:12
哦,我應該問過...你想把圖像的高度加倍(上面的標準圖像,下面翻轉和褪色的反射)? – shadowhand 2009-07-15 16:17:51