当前位置: 首页 > 图文教程 > 网络编程 > PHP > php 图片上添加透明度渐变的效果

PHP
PHP自动更新新闻DIY
模拟OICQ的实现思路和核心程序(三)
如何对PHP程序中的常见漏洞进行攻击(下)
通过ODBC连接的SQL SERVER实例
使用sockets:从新闻组中获取文章(二)
PHP+MYSQL的文章管理系统(二)
使用sockets:从新闻组中获取文章(三)
使用sockets:从新闻组中获取文章(一)
用cookies来跟踪识别用户
PHP实现分页的一个示例
PHP+MYSQL的文章管理系统(一)
消息持续发送的完整例子
如何利用php+mysql保存和输出文件
操作Oracle的php类
计数器详细设计
一个程序下载的管理程序(三)
一个程序下载的管理程序(一)
在php中取得image按钮传递的name值
一个程序下载的管理程序(二)
一个程序下载的管理程序(四)

PHP 中的 php 图片上添加透明度渐变的效果


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-12   浏览: 231 ::
收藏到网摘: n/a

今天因为临时需要,要动态的在图片上添加透明度渐变的效果,在网上找了半天没有相应功能的算法....

复制代码 代码如下:

<?php
////$strimgsrc = file_get_contents("http://127.0.0.1//upload/tech/20091012/20091012021527_46922a0880a8f11f8f69cbb52b1396be.jpg");
////$imgsrc = imagecreatefromstring($strimgsrc);
$imgsrc = imagecreatefromjpeg("/upload/tech/20091012/20091012021527_46922a0880a8f11f8f69cbb52b1396be.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);
?>