よし、私は GD Image を 2 か月間ハックしてきました。これを使って達成したいタスクは、既存の画像を取得し、その下でフェードアウトして半透明になる反射を作成するスクリプトを作成することでした。 .
次のガイドは、不透明な色でそれを行う方法を示しています: TalkPHP Forums Link
そのフォーラムで、Rendair は、色を使用して動的に描画されたグラデーションを次の PHP コードでオーバーレイする方法について説明しています。
// 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;
}
}
私が達成しようとしているのは、アルファ機能を使用して各線を同様に半透明にフェードさせる効果ですが、一度に1行ずつ適用するのは難しいようです. これまでのところ、画像の小さなスライス (1 ラインの大きさ) を作成して半透明でオーバーレイすることしかできません。各ラインをもう少しフェードさせることはできません。したがって、私の意図した結果は最初の画像であり、次に反射されたコピーが 100% アルファ透明にフェードするはずですが、これを達成できないようです。
天才的なアイデアを持っている PHP 関係者はいますか?
更新:この質問でタンブルウィード バッジを獲得しました。