Today, due to temporary needs, I need to dynamically add a transparency gradient effect to the image. I searched for an algorithm on the Internet for a long time without corresponding functions....
I wrote one myself:
The following is the quoted content:
以下为引用的内容:
////$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); ?>
|
////$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) ; }
header(content-type: image/jpeg);
imagejpeg($imgsrc);imagedestroy($imgsrc);?> |
http://www.bkjia.com/PHPjc/531679.htmlwww.bkjia.comtruehttp: //www.bkjia.com/PHPjc/531679.htmlTechArticleToday, due to temporary needs, I need to dynamically add a transparency gradient effect to the picture. I searched online for a long time and found no response. Functional algorithm....I wrote one myself: The following is the quoted content...