今天因为临时需要,要动态的在图片上添加透明度渐变的效果,在网上找了半天没有相应功能的算法....
自己写了一个:
以下为引用的内容:
<?php ////$strimgsrc = file_get_contents("http://127.0.0.1/5307754.jpg"); ////$imgsrc = imagecreatefromstring($strimgsrc); $imgsrc = imagecreatefromjpeg("5307754.jpg"); $imgsrcw = imagesx($imgsrc); $imgsrch = imagesy($imgsrc);
$width = 30; $x1 = 2; $x2 = $imgsrcw - $x1 - 20; $y1 = ($imgsrch - $width) - 2; $y2 = $y1 + $width;
$steps = $x2 - $x1; for($i = 0; $i < $steps; $i ++) { $alphax = round($i/($steps/127))+60; if($alphax >= 128) $alphax = 127; $alpha = imagecolorallocatealpha($imgsrc, 255, 255, 255, $alphax); imagefilledrectangle($imgsrc, ($i+$x1), $y1, ($i+$x1+1), $y2, $alpha); }
header('content-type: image/jpeg');
imagejpeg($imgsrc); imagedestroy($imgsrc); ?>
|