本文实例讲述了php实现给图片加灰色半透明效果的方法。分享给大家供大家参考。具体实现方法如下:
原理:
1.首先计算出原图片的尺寸
2.创建相同尺寸的半透明图片
3.使用 imagecopy()方法,把新创建的半透明图片与原图合并
具体实现代码如下:
01 | <?php |
02 | /*php 给图片加灰色透明效果 @郑州网建*/ |
03 | $imfile = './0.jpg' ; //原图 |
04 | $origim = imagecreatefromjpeg( $imfile ); //从 JPEG 文件或 URL 新建一图像 |
05 | |
06 | $w =imagesx( $origim ); //原图宽度 |
07 | $h =imagesy( $origim ); //原图高度 |
08 | |
09 | $newimg = imagecreatetruecolor( $w , $h ); //返回一个图像标识符,代表了一幅大小为 x_size 和 y_size 的黑色图像。imagecreatetruecolor// |
10 | |
11 | $color =imagecolorallocatealpha( $newimg ,0,0,0,75); //为一幅图像分配颜色 + alpha; 和 imagecolorallocate() 相同,但多了一个额外的透明度参数 alpha,其值从 0 到 127。0 表示完全不透明,127 表示完全透明。 |
12 | |
13 | imagecolortransparent( $newimg , $color ); //将某个颜色定义为透明色 @camnpr |
14 | |
15 | imagefill( $newimg ,0,0, $color ); //区域填充;resource $image , int $x , int $y , int $color |
16 | |
17 | imagecopy( $origim , $newimg , 0,0, 0, 0, $w , $h ); //拷贝图像的一部分;将 src_im 图像中坐标从 src_x,src_y 开始,宽度为 src_w,高度为 src_h 的一部分拷贝到 dst_im 图像中坐标为 dst_x 和 dst_y 的位置上。 |
18 | |
19 | imagejpeg( $origim , './2.jpg' ); //输出图象到浏览器或文件。;resource $image [, string $filename [, int $quality ]] |
20 | ?> |
希望本文所述对大家的PHP程序设计有所帮助。