さて、私は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;
}
}
私が達成しようとしているのは、同様にアルファ機能を使って各行を1つの陰影にさらにフェードインする効果ですが、一度に1行ずつ適用するのは難しいようです。これまでは、イメージの小さなスライス(1行は大きい)しか作成できず、透明にオーバーレイすることはできません。各行をもう少しフェードアウトするようには見えません。だから私の意図した結果は最初の画像でなければならず、100%アルファ透明にフェードする反射コピーがありますが、これを達成できないようです。
天才のアイデアを持っているPHPの人は誰ですか?
更新:この質問は私にtumbleweedバッジを与えました。
は、これは非常にクールなアイディアだと私はそれのためのソリューションを持っている_think_ ...私はいくつかのコードをテストして戻ってくるでしょう。 – shadowhand
ああ、私は尋ねたはずのことは...画像の高さを倍にしたいのですか(上記の標準画像、下に反転して、色あせています)? – shadowhand
どちらかが問題ありません。可能であれば、それを半分の大きさに圧縮します。マスクを適用する方法や、一度に1行ずつレンダリングしたり、不透明度を下げる必要がある場合や、対数関数を使用してスムーズに行ったりする必要がある場合は、私の問題点は私はそれが1つの行を過ぎ去らせるように見えることはできません、私はそれが1つのコピーをinterperetingするような方法で何かを書いているに違いありません。 – NateDSaint