多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
里面有个STXINGKA.TTF,这是个字体文件 ~~~ <?php /** *给一个文件夹的所有图片加水印 *获取目录中所有目录和文件 *@param string $dir 目录路径 */ function getAllFile($dir,$fontfile,$text){ //打开目录句柄 $handle = opendir($dir); //读取目录 while(($fileName = readdir($handle)) !== false){ //过滤'.'和'..'和文件 if($fileName == '.'||$fileName == '..'){ continue; } $newFile = $dir.'/'.$fileName; //转码 $newFile = iconv('gbk','utf-8',$newFile); if(is_dir($newFile)){ // echo $newFile.'<br>'; // exit(); getAllFile($newFile,$fontfile,$text); }else{ //echo $fileName.'<br>'; waterMark($newFile,$fontfile,$text); } } closedir($handle); } /** * 给图片添加水印 * @param string $filename 要添加水印图片的路径 * @param string $fontfile 使用的 TrueType 字体的路径 * @param string $text 水印文本内容 * @param float $size 水印字体的大小,默认是50 * @param float $angle 水印字体的旋转角度,默认是30度 * @return string $tmpName 生成的水印图片的路径 */ function waterMark($filename,$fontfile,$text,$size = 50,$angle = 20) { $info = getimagesize($filename); $mime = explode('/',$info['mime']); //获取图片的宽度 $imgWidth = $info[0]; //获取图片的高度 $imgHeight = $info[1]; //水印文字位置左上角的横坐标设置为图片宽度的0.3 $x = 0.25 * $imgWidth; //水印文字位置左上角的纵坐标设置为图片高度的0.45 $y = 0.45 * $imgHeight; //获取图片后缀 $ext = array_pop($mime); //构建创建画布的函数名 $funName = 'imagecreatefrom'.$ext; //创建一个画布 $img = $funName($filename); //生成一个有透明度的颜色,最后一个参数表示透明度取值为0~127,127位完全透明 $color = imagecolorallocatealpha($img,0,0,255,90); //向图片是写文字 //imagettftext ( resource $image , float $size , float $angle , int $x , int $y , int $color , string $fontfile , string $text ) //循环向图片添加水印 for ($i=0,$y = 0; $y < $imgHeight; $i++) { $y = $i * $size * 2 + 0.1 * $imgHeight; imagettftext($img,$size,$angle,$x,$y,$color,$fontfile,$text); } if (!is_dir('./waterMarkImage')) { mkdir('./waterMarkImage'); } //拼接图片保存路径 $tmpName = explode('/',$filename); $tmpName = './waterMarkImage/'.'mark_'.$tmpName[count($tmpName) - 1]; $funName = 'image'.$ext; if ($ext == 'jpeg') { //保存添加水印的图片 $funName($img,$tmpName,100); }else{ $funName($img,$tmpName); } //将图片显示在网页 //header('Content-type:image/'.$ext); //$funName($img); // 释放资源 //imagedestroy($img); return $tmpName; } //测试 getAllFile('./goods_img','./STXINGKA.TTF','天猫正品'); ?> ~~~