您的位置:首页 > 编程语言 > PHP开发

使用PHP制作图片水印

2017-06-05 22:49 330 查看
/**

 * 图片水印

 * @param string $desImg 想要打水印的大图

 * @param string $waterImg  作为水印的小图

 * @param string $dir 打完水印的图片保存的目录

 * @param int $x  水印在大图中x坐标位置

 * @param int $y  水印在大图中y坐标位置

 * @param int $alpha 水印透明度 0-100 值越小透明度越高

 */

function waterMarkImg($desImg,$waterImg,$dir='./mypics',$x=10,$y=30,$alpha=30){

    //第一步,生成图像资源,由需要打水印的图片来生成图像资源

    //生成源图像资源

    //1)获取源图片信息

    $imgInfo1=getimagesize($desImg);

    //2)获取图片的后缀名

    $ext1=image_type_to_extension($imgInfo1[2],false);

    //3)生成源图像资源

    $fun1="imagecreatefrom".$ext1;

    $img=$fun1($desImg);

    //生成水印图像资源

    //1)获取源图片信息

    $imgInfo2=getimagesize($waterImg);

    //2)获取图片的后缀名

    $ext2=image_type_to_extension($imgInfo2[2],false);

    //3)生成源图像资源

    $fun2="imagecreatefrom".$ext2;

    $water=$fun2($waterImg);

    //第二步,操作图像资源

    //拷贝合并图像资源,打上图片水印

    imagecopymerge($img,$water,$x,$y,0,0,imagesx($water),imagesy($water),$alpha);

    //第三步,输出并保存图像

    $outFun='image'.$ext1;

    if(!file_exists($desImg)){

        mkdir($desImg);

    }

    $outFun($img,$dir.'/waterImg_'.basename($desImg));

    //第四步,销毁图像资源,释放内存

    imagedestroy($water);

    imagedestroy($img);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: