1. <?php
  2. //图片添加文字水印
  3. /*$bigImgPath = 'background.png';
  4. $img = imagecreatefromstring(file_get_contents($bigImgPath));
  5.  
  6. $font = 'MSYH.TTF';//字体,字体文件需保存到相应文件夹下
  7. $black = imagecolorallocate($img, 0, 0, 0);//字体颜色 RGB
  8.  
  9. $fontSize = 12; //字体大小
  10. $circleSize = 60; //旋转角度
  11. $left = 50; //左边距
  12. $top = 120; //顶边距
  13.  
  14. imagefttext($img, $fontSize, $circleSize, $left, $top, $black, $font, 'zhix.net| 智昕网络');
  15.  
  16. list($bgWidth, $bgHight, $bgType) = getimagesize($bigImgPath);
  17. switch ($bgType) {
  18. case 1: //gif
  19. header('Content-Type:image/gif');
  20. imagegif($img);
  21. break;
  22. case 2: //jpg
  23. header('Content-Type:image/jpg');
  24. imagejpeg($img);
  25. break;
  26. case 3: //png
  27. header('Content-Type:image/png');
  28. //imagepng($img,"images/circle.png"); //在 images 目录下就会生成一个 circle.png 文件,上面也可设置相应的保存目录及文件名。
  29. imagepng($img);
  30. break;
  31. default:
  32. break;
  33. }
  34. imagedestroy($img);
  35. */
  36.  
  37. //图片合成
  38. /*$bigImgPath = 'background.png';
  39. $qCodePath = 'code.png';
  40.  
  41. $bigImg = imagecreatefromstring(file_get_contents($bigImgPath));
  42. $qCodeImg = imagecreatefromstring(file_get_contents($qCodePath));
  43. imagesavealpha($bigImg,true);//假如是透明PNG图片,这里很重要 意思是不要丢了图像的透明<code class="php spaces"></code>
  44. list($qCodeWidth, $qCodeHight, $qCodeType) = getimagesize($qCodePath);
  45. // imagecopymerge使用注解
  46. imagecopymerge($bigImg, $qCodeImg, 50, 50, 0, 0, $qCodeWidth, $qCodeHight, 100);
  47. list($bigWidth, $bigHight, $bigType) = getimagesize($bigImgPath);
  48.  
  49. switch ($bigType) {
  50. case 1: //gif
  51. header('Content-Type:image/gif');
  52. imagegif($bigImg);
  53. break;
  54. case 2: //jpg
  55. header('Content-Type:image/jpg');
  56. imagejpeg($bigImg);
  57. break;
  58. case 3: //jpg
  59. header('Content-Type:image/png');
  60. //imagepng($bigImg,"images/circle.png"); //在 images 目录下就会生成一个 circle.png 文件,上面也可设置相应的保存目录及文件名。
  61. imagepng($bigImg);
  62. break;
  63. default:
  64. # code...
  65. break;
  66. }
  67. imagedestroy($bigImg);
  68. imagedestroy($qcodeImg);
  69. */
  70.  
  71. //如果感觉上面的二维码太大 那么可以先生成一张小的二维码图片,下面是处理的方法
  72. //等比例生成图片
  73. //$filepath图片路径,$percent缩放百分比
  74. function imagepress($filepath,$percent='0.5'){
  75. // 图片类型,这里的二维码是PNG的 所以使用PNG类型
  76. header('Content-Type: image/png');
  77. // 获得新的图片大小
  78. list($width, $height) = getimagesize($filepath); //取图片信息
  79. $new_width = $width * $percent;
  80. $new_height = $height * $percent;
  81. // 重新取样
  82. $image_p = imagecreatetruecolor($new_width, $new_height);
  83. $image = imagecreatefrompng($filepath);
  84. imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
  85. // 输出
  86. return imagejpeg($image_p, 'code1.png', 100); //这里的名命可根据需要设置
  87. }
  88.  
  89. $bigImgPath = 'background.png';
  90. $qCodePath = 'code.png';
  91. imagepress($qCodePath);
  92. $qCodePath = 'code1.png';
  93. $bigImg = imagecreatefromstring(file_get_contents($bigImgPath));
  94. $qCodeImg = imagecreatefromstring(file_get_contents($qCodePath));
  95.  
  96. list($qCodeWidth, $qCodeHight, $qCodeType) = getimagesize($qCodePath);
  97. // imagecopymerge使用注解
  98. imagecopymerge($bigImg, $qCodeImg, 90, 90, 0, 0, $qCodeWidth, $qCodeHight, 100);
  99. list($bigWidth, $bigHight, $bigType) = getimagesize($bigImgPath);
  100.  
  101. switch ($bigType) {
  102. case 1: //gif
  103. header('Content-Type:image/gif');
  104. imagegif($bigImg);
  105. break;
  106. case 2: //jpg
  107. header('Content-Type:image/jpg');
  108. imagejpeg($bigImg);
  109. break;
  110. case 3: //jpg
  111. header('Content-Type:image/png');
  112. //imagepng($bigImg,"images/circle.png"); //在 images 目录下就会生成一个 circle.png 文件,上面也可设置相应的保存目录及文件名。
  113. imagepng($bigImg);
  114. break;
  115. default:
  116. # code...
  117. break;
  118. }
  119. imagedestroy($bigImg);
  120. imagedestroy($qcodeImg);

PHP图片加水印文字及图片合成缩放的更多相关文章

  1. 火车头dede采集接口,图片加水印,远程图片本地化,远程无后缀的无图片本地化

    <?php /* [LocoySpider] (C)2005-2010 Lewell Inc. 火车采集器 DedeCMS 5.7 UTF8 文章发布接口 Update content: 图片加 ...

  2. 图片加水印文字,logo。生成缩略图

    简单JSP代码 图片加水银文字 try { String path = request.getRealPath("images\\01.jpg"); out.print(path) ...

  3. php 图片加水印文字水印

    /*给图片加文字水印的方法*/ $dst_path = 'http://f4.topitme.com/4/15/11/1166351597fe111154l.jpg';//保证路径正确 $dst = ...

  4. 使用Html5对图片加水印及多图合成

                                                                             转载请注明原地址:                   ...

  5. android图片加水印,文字

    两种方法: 1.直接在图片上写文字 String str = "PICC要写的文字"; ImageView image = (ImageView) this.findViewByI ...

  6. php对图片加水印--将文字作为水印加到图片

    方法代码: /**  * 图片加水印(适用于png/jpg/gif格式)  *  * @author flynetcn  *  * @param $srcImg  原图片  * @param $wat ...

  7. C#给图片加水印,可设置透明度

    C#给图片加水印,可设置透明度,设置水印的位置可以看一下上一篇哈 /// <summary> /// Creating a Watermarked Photograph with GDI+ ...

  8. thinkphp 3.2.3整合ueditor 1.4,给上传的图片加水印

    今天分享一下thinkphp 3.2.3整合ueditor 1.4,给上传的图片加水印.博主是新手,在这里卡住了很久(>_<) thinkphp 3.2.3整合ueditor 1.4 下载 ...

  9. php 分享两种给图片加水印的方法

    本文章向码农们介绍 php 给图片加水印的两种方法,感兴趣的码农可以参考一下本文章的源代码. 方法一:PHP最简单的加水印方法 <?php // http://www.manongjc.com ...

随机推荐

  1. Java IO流-字符流

    2017-11-05 18:34:39 Java中的IO流按数据类型分类分为两种,一是字节流,二是字符流.字符流的出现是为了简化文本数据的读入和写出操作. 如果操作的文件是文本文件,那么使用字符流会大 ...

  2. 更改CentOS7登录画面的分辨率

    设置成用VNC Viewer去连接虚拟机的CentOS7 , 可是分辨率都得等登录了才能生效. 登录画面显示时,分辨率老大了. 找到了下面的文章 , 把 home/<user>/.conf ...

  3. Hadoop异常

    org.apache.hadoop.mapred.InvalidInputException: Input path does not exist: hdfs://xxx:49000/user/had ...

  4. 操作ACCESS数据库,报INSERT INTO 语句的语法错误

    错误类型:Microsoft JET Database Engine (0x80040E14)INSERT INTO 语句的语法错误. 有时候非常郁闷,明明看起来自己的语句没错,为什么还是报错呢?其实 ...

  5. HDU 4751 Divide Groups (2-SAT)

    题意 给定一个有向图,问是否能够分成两个有向完全图. 思路 裸的2-sat--我们设一个完全图为0,另一个完全图为1,对于一个点对(u, v),如果u.v不是双向连通则它们两个不能在一组,即u和v至少 ...

  6. BST树、B树、B+树、B*树

    1. BST树 即二叉搜索树: 1.所有非叶子结点至多拥有两个儿子(Left和Right): 2.所有结点存储一个关键字: 3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树: ...

  7. 解决Myeclipse闪退问题

    才安装好Myeclipse就出了问题,打开之后没过多久就自动退出了,看了好多解决方法都无效,后来才找到正确路径,转载过来方便跟我遇到同样问题的小伙伴,尽快解决 转载自:http://blog.csdn ...

  8. URAL 1040 Airline Company 构造,思路 难度:2

    http://acm.timus.ru/problem.aspx?space=1&num=1040 题目要求在一个联通无向图中找出一种方法给边标号使得任意一个有多条边的点,边的号码的最大公约数 ...

  9. CF 160D Edges in MST 最小生成树的性质,寻桥,缩点,批量处理 难度:3

    http://codeforces.com/problemset/problem/160/D 这道题要求哪条边存在于某个最小生成树中,哪条边不存在于最小生成树中,哪条边绝对存在于最小生成树中 明显桥边 ...

  10. JS之replace

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...