كيفية إنشاء انعكاس الصورة في PHP باستخدام GD

كود:
01$im = 'path/to/image.jpg'; // The input image02$size = getimagesize($im);
03$rH = 50; // Reflection height
04$tr = 30; // Starting transparency
05$div = 1; // Size of the divider line
06$w = $size[0];
07$h = $size[1];
08 
09$im = imagecreatefromjpeg($im);
10$li = imagecreatetruecolor($w, 1);
11$bgc = imagecolorallocate($li, 255, 255, 255); // Background color
12imagefilledrectangle($li, 0, 0, $w, 1, $bgc);
13$bg = imagecreatetruecolor($w, $rH);
14$wh = imagecolorallocate($im,255,255,255);
15 
16$im = imagerotate($im, -180, $wh);
17imagecopyresampled($bg, $im, 0, 0, 0, 0, $w, $h, $w, $h);
18$im = $bg;
19$bg = imagecreatetruecolor($w, $rH);
20for ($x = 0; $x < $w; $x++) {
21    imagecopy($bg, $im, $x, 0, $w-$x, 0, 1, $rH);
22} 
23$im = $bg;
24 
25$in = 100/$rH;
26for($i=0; $i<=$rH; $i++){
27    if($tr>100) $tr = 100;
28    imagecopymerge($im, $li, 0, $i, 0, 0, $w, 1, $tr);
29    $tr+=$in;
30}
31imagecopymerge($im, $li, 0, 0, 0, 0, $w, $div, 100); // Divider
32 
33header('content-type: image/jpeg');
34imagejpeg($im, '', 100);
35imagedestroy($im);
36imagedestroy($li);