我有一个反射GD PHP代码,我想用原始代码编写它

我有一个反射GD PHP代码,我想用原始代码编写它,php,gd,Php,Gd,下面的代码将创建图像的反射,但仅创建反射。 我希望它在原始图像下添加此反射 这是我的密码: <?php $im = 'path/to/image.jpg'; // The input image $size = getimagesize($im); $rH = 50; // Reflection height $tr = 30; // Starting transparency $div = 1; // Size of the divider line $w = $size[0]; $h

下面的代码将创建图像的反射,但仅创建反射。 我希望它在原始图像下添加此反射

这是我的密码:

<?php
$im = 'path/to/image.jpg'; // The input image
$size = getimagesize($im);
$rH = 50; // Reflection height
$tr = 30; // Starting transparency
$div = 1; // Size of the divider line
$w = $size[0];
$h = $size[1];

$im = imagecreatefromjpeg($im);
$li = imagecreatetruecolor($w, 1);
$bgc = imagecolorallocate($li, 255, 255, 255); // Background color
imagefilledrectangle($li, 0, 0, $w, 1, $bgc);
$bg = imagecreatetruecolor($w, $rH);
$wh = imagecolorallocate($im,255,255,255);

$im = imagerotate($im, -180, $wh);
imagecopyresampled($bg, $im, 0, 0, 0, 0, $w, $h, $w, $h);
$im = $bg;
$bg = imagecreatetruecolor($w, $rH);
for ($x = 0; $x < $w; $x++) {
    imagecopy($bg, $im, $x, 0, $w-$x, 0, 1, $rH);
}
$im = $bg;

$in = 100/$rH;
for($i=0; $i<=$rH; $i++){
    if($tr>100) $tr = 100;
    imagecopymerge($im, $li, 0, $i, 0, 0, $w, 1, $tr);
    $tr+=$in;
}
imagecopymerge($im, $li, 0, 0, 0, 0, $w, $div, 100); // Divider
header('content-type: image/jpeg');
imagejpeg($im, '', 100);
imagedestroy($im);
imagedestroy($li);
?>


您知道缩进是什么吗?那么您想知道如何将两张图片合并到一张图片中?我看到您已经使用了ImageCreateTureColor和imagecopy,前者可以帮助您创建大图像,后者可以帮助您将图像复制到目标中的某个点