PHP给图片加文字 (可以设置修改字体,大小,颜色 中文 等)

二话不说上才艺

直接调用函数(方法)

 1 public function jia_str($beijin_img='bejintu.png',$content='需要加的内容文字',$w=10,$h=10,$font_size = 60,$new_path=null)
 2     {   
 3         // $w=480;//距离左边宽度  
 4         // $h=1010 //距离顶的距离
 5         //$font_size = 60; //字体大小
 6         // $beijin_img = './assets/myqr/7.png';//需要加文字的图片
 7         // $new_path = './assets/myqr/7_new.png';// 新保存的位置
 8         // $content = '文字内容';
 9         $font = './assets/fonts/SourceHanSansK-Regular.ttf';//字体需要
10         
11 
12         $d_beijin_img = imagecreatefromstring(file_get_contents($beijin_img));
13 
14         /*imagecreatefromstring()--从字符串中的图像流新建一个图像,返回一个图像标示符,其表达了从给定字符串得来的图像
15         图像格式将自动监测,只要php支持jpeg,png,gif,wbmp,gd2.*/        
16         
17         
18         //颜色  自己修改 QQ496631085
19         $color = imagecolorallocate($d_beijin_img, 250, 100, 0);
20 
21         imagefttext($d_beijin_img, $font_size, 0, $w, $h, $color, $font, $content);
22 
23         /** 
24         $img由图像创建函数返回的图像资源
25         size要使用的水印的字体大小
26         angle(角度)文字的倾斜角度,如果是0度代表文字从左往右,如果是90度代表从上往下
27         x,y水印文字的第一个文字的起始位置
28         color是水印文字的颜色
29         fontfile,你希望使用truetype字体的路径*/
30 
31         list($dst_w,$dst_h,$dst_type) = getimagesize($beijin_img);
32 
33         /*list(mixed $varname[,mixed $......])--把数组中的值赋给一些变量
34         像array()一样,这不是真正的函数,而是语言结构,List()用一步操作给一组变量进行赋值*/
35         /*getimagesize()能获取到什么信息?
36         getimagesize函数会返回图像的所有信息,包括大小,类型等等*/
37 
38         switch($dst_type){
39 
40         case 1://GIF
41 
42             if($new_path){
43                 imagegif($d_beijin_img,$new_path);//写文件
44             }else{
45                 header("content-type:image/gif");//直接输出浏览器
46                 imagegif($d_beijin_img);
47             }
48             
49 
50             break;
51 
52         case 2://JPG
53             
54             if($new_path){
55                 imagejpeg($d_beijin_img,$new_path);//写文件
56             }else{
57                 header("content-type:image/jpeg");
58                 imagejpeg($d_beijin_img);
59             }           
60 
61             break;
62 
63         case 3://PNG
64             if($new_path){
65                 imagepng($d_beijin_img,$new_path);//写文件
66             }else{
67                 header("content-type:image/png");
68                 imagepng($d_beijin_img);
69             } 
70             break;
71 
72         default:
73 
74             break;
75         }
76         //销毁图片
77         imagedestroy($d_beijin_img);
78     }
原文地址:https://www.cnblogs.com/xiaohe520/p/13845046.html