PHP 输出图像

详细解释imageTtfText()函数

1)$image 这个是画布资源

2)$size,官方文档的解释是,字体大小

[plain] view plain copy
 
 在CODE上查看代码片派生到我的代码片
  1. 1磅==>4像素, PPI=288  
  2. 2磅==>5像素, PPI=180  
  3. 3磅==>7像素, PPI=168  
  4. 4磅==>8像素, PPI=144  
  5. 5磅==>9像素, PPI=129.6  
  6. 6磅==>10像素, PPI=120  
  7. 7磅==>11像素, PPI=113.14285714286  
  8. 8磅==>12像素, PPI=108  
  9. 9磅==>14像素, PPI=112  
  10. 10磅==>15像素, PPI=108  
  11. 11磅==>16像素, PPI=104.72727272727  
  12. 12磅==>17像素, PPI=102  
  13. 13磅==>18像素, PPI=99.692307692308  
  14. 14磅==>19像素, PPI=97.714285714286  
  15. 15磅==>21像素, PPI=100.8  
  16. 16磅==>22像素, PPI=99  
  17. 17磅==>23像素, PPI=97.411764705882  
  18. 18磅==>25像素, PPI=100  
  19. 19磅==>26像素, PPI=98.526315789474  
  20. 20磅==>27像素, PPI=97.2  
  21. 21磅==>28像素, PPI=96  
  22. 22磅==>29像素, PPI=94.909090909091  
  23. 23磅==>30像素, PPI=93.913043478261  
  24. 24磅==>32像素, PPI=96  
  25. 25磅==>33像素, PPI=95.04  
  26. 26磅==>34像素, PPI=94.153846153846  
  27. 27磅==>35像素, PPI=93.333333333333  
  28. 28磅==>36像素, PPI=92.571428571429  
  29. 29磅==>38像素, PPI=94.344827586207  
  30. 30磅==>39像素, PPI=93.6  
  31. 31磅==>40像素, PPI=92.903225806452  
  32. 32磅==>41像素, PPI=92.25  
  33. 33磅==>43像素, PPI=93.818181818182  
  34. 34磅==>44像素, PPI=93.176470588235  
  35. 35磅==>46像素, PPI=94.628571428571  
  36. 36磅==>47像素, PPI=94  
  37. 37磅==>48像素, PPI=93.405405405405  
  38. 38磅==>48像素, PPI=90.947368421053  
  39. 39磅==>50像素, PPI=92.307692307692  
  40. 40磅==>51像素, PPI=91.8  
  41. 41磅==>52像素, PPI=91.317073170732  
  42. 42磅==>53像素, PPI=90.857142857143  
  43. 43磅==>55像素, PPI=92.093023255814  
  44. 44磅==>56像素, PPI=91.636363636364  
  45. 45磅==>57像素, PPI=91.2  
  46. 46磅==>58像素, PPI=90.782608
  47. (3)$angle是旋转角度。这个官网解释的比较清楚,需要说明有两点:一是角度单位是度而不是弧度,二是旋转的中心点就是参数$x,$y。
     
    (4)(5)$x,$y 被绘制字符串的第一个字符的基线点。单位是像素。
(6)$color 字体的颜色,不多解释。
 
(7)$fontfile 字体文件。也就是包含trueType字体字模的文件,如楷体字体文件simkai.ttf。这种文件的格式是有标准规范的,而且与平台无关。所以可以直接把Windows系统的字体文件拷贝到Linux下使用。
 
(8)$text 要渲染的字符串。需要注意必须是UTF-8编码的字符串。说到字符串不得不提PHP的string数据类型。虽然名为string,其实PHP语言本身并不认识各种字符编码,它只是简单的把string看做是动态增长的“字节”数组,例如strlen()就是返回的字节数。而我们知道除了ASCII编码的字符和字节是相同的外,几乎没有其他字符编码中的字符对应一个字节,例如一个汉字的UTF-8编码占用3个字节。至于怎么解释其中的字符编码,需要专门的库函数如iconv_strlen()。如果字符串使用字面量,那么其所在的php源文件就必须编码为UTF-8存储。
 
 
int imagecolorallocate(int im, int red, int green, int blue);本函数用来匹配图形的颜色,供其它绘图函数使用。参数 im 表示图形的 handle。参数 red、green、blue 是色彩三原色,其值从 0 至 255。
 

  • imagecreate() 和 imagecreatetruecolor() 函数用于创建一幅空白图像。
  • imagedestroy() 函数用于销毁图像资源。
    magecopy() 函数用于拷贝图像或图像的一部分。
      imagecopyresized() 函数用于拷贝部分图像并调整大小。
      imagecopy()
      imagecopy() 函数用于拷贝图像或图像的一部分,成功返回 TRUE ,否则返回 FALSE 。
      语法:
      bool imagecopy( resource dst_im, resource src_im, int dst_x, int dst_y, int src_x, int src_y,
      int src_w, int src_h )
      参数说明:参数说明
      dst_im目标图像
      src_im被拷贝的源图像
      dst_x目标图像开始 x 坐标
      dst_y目标图像开始 y 坐标,x,y同为 0 则从左上角开始
      src_x拷贝图像开始 x 坐标
      src_y拷贝图像开始 y 坐标,x,y同为 0 则从左上角开始拷贝
      src_w(从 src_x 开始)拷贝的宽度
      src_h(从 src_y 开始)拷贝的高度
      例子:
      <?php
      header("Content-type: image/jpeg");
      //创建目标图像
      $dst_im = imagecreatetruecolor(150, 150);
      //源图像
      $src_im = @imagecreatefromjpeg("images/flower_1.jpg");
      //拷贝源图像左上角起始 150px 150px
      imagecopy( $dst_im, $src_im, 0, 0, 0, 0, 150, 150 );
      //输出拷贝后图像
      imagejpeg($dst_im);
      imagedestroy($dst_im);
      imagedestroy($src_im);
      ?>
      imagecopyresized()
      imagecopyresized() 函数用于拷贝图像或图像的一部分并调整大小,成功返回 TRUE ,否则返回 FALSE 。
      语法:
      bool imagecopyresized( resource dst_im, resource src_im, int dst_x, int dst_y, int src_x, int src_y,
      int dst_w, int dst_h, int src_w, int src_h )
      本函数参数可参看 imagecopy() 函数,只是本函数增加了两个参数(注意顺序):
      dst_w:目标图像的宽度。
      dst_h:目标图像的高度。
      imagecopyresized() 的典型应用就是生成图片的缩略图:
      <?php
      header("Content-type: image/jpeg");
      //原图文件
      $file = "images/flower_1.jpg";
      // 缩略图比例
      $percent = 0.5;
      // 缩略图尺寸
      list($width, $height) = getimagesize($file);
      $newwidth = $width * $percent;
      $newheight = $height * $percent;
      // 加载图像
      $src_im = @imagecreatefromjpeg($file);
      $dst_im = imagecreatetruecolor($newwidth, $newheight);
      // 调整大小
      imagecopyresized($dst_im, $src_im, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
      //输出缩小后的图像
      imagejpeg($dst_im);
      imagedestroy($dst_im);
      imagedestroy($src_im);
      ?>

    resource imagecreatetruecolor ( int $width , int $height )新建一个真彩色图像

PHP 输出图像

PHP 允许将图像以不同格式输出:

  • imagegif():以 GIF 格式将图像输出到浏览器或文件
  • imagejpeg():以 JPEG 格式将图像输出到浏览器或文件
  • imagepng():以 PNG 格式将图像输出到浏览器或文件
  • imagewbmp():以 WBMP 格式将图像输出到浏览器或文件

语法:

原文地址:https://www.cnblogs.com/benpaodegegen/p/6432848.html