zoukankan      html  css  js  c++  java
  • 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     }
  • 相关阅读:
    快速排序的分析与优化
    矩阵原地转置
    变位词问题
    一维向量旋转算法
    位图排序
    Linux网络编程:UDP实现可靠的文件传输
    Linux网络编程:UDP Socket编程范例
    es6+最佳入门实践(6)
    es6+最佳入门实践(5)
    es6+最佳入门实践(4)
  • 原文地址:https://www.cnblogs.com/xiaohe520/p/13845046.html
Copyright © 2011-2022 走看看