gd库为图片加文字水印和图片输出
$number = $result["certno"];//设置水印内容 $file = "./Uploads/certs/" . $number . ".jpg"; if(!is_file($file)){ $src = "./template/public/img/zhengshu.jpg";//定义图片地址 $info = getimagesize($src);//获取图片信息 $type = image_type_to_extension($info[2], false);//通过编号获取图片类型 $fun = "imagecreatefrom".$type;//在内存中创建一样的图像 $image = $fun($src);//图片复制到内存 $font = "./msyh.ttf";//设置字体路径 $fontbd = "./msyhbd.ttf";//设置字体路径 $content = $result["authname"];//设置水印内容 $website = $result["auth_domains"];//设置水印内容 //求出水印内容在使用字体下在图片的四个边框的xy坐标 $version_fontarea1 = ImageTTFBBox(25,0,$fontbd,$version); $content_fontarea1 = ImageTTFBBox(25,0,$font,$content); $website_fontarea1 = ImageTTFBBox(12,0,$font,$website); $width = $info[0];//获取图片宽度 //求出内容应该设置在图片中的位置(y左边我是自己一点点试的...x坐标是让水印内容两侧距离相等) $version_x = ($width - ($version_fontarea1[2] - $version_fontarea1[0])) / 2; $content_x = ($width - ($content_fontarea1[2] - $content_fontarea1[0])) / 2; $website_x = ($width - ($website_fontarea1[2] - $website_fontarea1[0])) / 2; $color = imagecolorallocatealpha($image, 75, 75, 75, 0);//设置颜色 imagettftext($image, 11, 0, 105, 80, $color, $font, $number); imagettftext($image, 25, 0, $version_x, 350, $color, $fontbd, $version); imagettftext($image, 25, 0, $content_x, 520, $color, $font, $content); imagettftext($image, 12, 0, $website_x, 560, $color, $font, $website); //输出图片 $fun = "image".$type; $fun($image, $file , 80); imagedestroy($image); } $data = file_get_contents($file);
代码中依然存在很大问题,因为这样的做法,意味着有多少个result,就会在文件夹中生成多少张图片。没有找到gd库直接从内存中获取图片内容的方法,迫不得已用这个方法
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/25583.html
摘要:我尝试用重新编译库扩展生成,但在中加入后重启,会报错。请安装库和在我索求答案无果后,我选择了重新编译,尴尬某站答案 编译PHP不带gd,后续添加gd模块 在生成图像验证码的时候我们会用到GD库进行images,我们先安装它.但是有时候,发现自己已经安装了GD库,但是验证码还是生成不了这个时候就得检查一下imagettftext这个函数了 http://php.net/manual/zh...
摘要:本文经授权转自社区说明是为定制的图片处理工具它提供了一套易于表达的方式来创建编辑图片。 本文经授权转自 PHPHub 社区 说明 Intervention/image 是为 Laravel 定制的图片处理工具, 它提供了一套易于表达的方式来创建、编辑图片。 本文章由 The EST Group 成员 @monkey 撰写, 首发地为 PHPHub 社区. Demo 代码请见:https...
摘要:前言最近开发遇到后端生成图片时英文的换行贴代码字符串相关处理英文字符串换行如果是字母,并且到了换行的地方,则需要看这个字符的下一个字符是否是字母,如果是的话就需要回到上一个不是字母的地方注意中文和英文上一次出现不是字母的索引位置将单个字符存 前言 最近开发遇到后端生成图片时英文的换行 贴代码 /* * 字符串相关处理 */ class StringUtils { /** ...
阅读 2001·2023-04-25 23:30
阅读 1432·2021-11-24 10:18
阅读 3048·2021-10-09 09:54
阅读 1994·2021-10-08 10:05
阅读 3411·2021-09-23 11:21
阅读 3143·2019-08-30 15:52
阅读 1540·2019-08-30 13:05
阅读 1036·2019-08-30 13:02