2018.09.03
.
.
只有一个文件,代码如下:
<?php
//用户上传的图片
$dest = 'test.jpg';
//公司的logo
$src = 'logo.jpg';
$op = 50;
$pos = 4;
water($dest, $src, $pos, $op);
/**
*@param1 dest string 用户图片
*@param2 src string 公司logo
**@param3 int logo的位置 1:左上角,2:右上角,3:左下角,4:右下角,5:中间
**@param4 op int 透明度
*/
function water($dest, $src, $pos=3, $op=60){
$info_dest = getimagesize($dest);
$info_src = getimagesize($src);
//把已有的图片读取到画布中
$img_dest = create_from($dest);
$img_src = create_from($src);
switch($pos){
case 1:
$d_x = 0;
$d_y = 0;
break;
case 2:
$d_x = $info_dest[0]-$info_src[0];
$d_y = 0;
break;
case 3:
$d_x = 0;
$d_y = $info_dest[1]-$info_src[1];
break;
case 4:
$d_x = $info_dest[0]-$info_src[0];
$d_y = $info_dest[1]-$info_src[1];
break;
case 5:
$d_x = ($info_dest[0]-$info_src[0])/2;
$d_y = ($info_dest[1]-$info_src[1])/2;
break;
}
//制作水印 imagecopymerge(dst_im, src_im, dst_x, dst_y, src_x, src_y, src_w, src_h, pct)
imagecopymerge($img_dest, $img_src, $d_x, $d_y, 0, 0, $info_src[0], $info_src[1], $op);
header('Content-Type:image/jpeg');
imagejpeg($img_dest);
}
function create_from($file){
$info = getimagesize($file); //获取文件信息
switch($info['mime']){
case 'image/jpeg':
$img = imagecreatefromjpeg($file);
break;
case 'image/png':
$img = imagecreatefrompng($file);
break;
case 'image/gif':
$img = imagecreatefromgif($file);
break;
}
return $img;
}
网友评论