php实现水印文字和缩略图的方法示例

yipeiwu_com6年前PHP代码库

本文实例讲述了php实现水印文字和缩略图的方法。分享给大家供大家参考,具体如下:

<?php
  $im = 'xiatian.jpg';
  $im2 = 'winter3.jpg';
  $img = getImage($im);
  $bimg = getImage($im2);
  //$image = getimagesize($im);
  //print_r($image);
  //Array ( [0] => 150 width
   /*[1] => 150 height
   [2] => 3 图片类型
   [3] => width="150" height="150"
   [bits] => 8
   [mime] => image/png )*/
  //图片复制组合------$bimg----
  imagecopy($bimg, $img, 300, 4, 0, 0, getWidth($im),getHeight($im));
  //加水印文字
  $color = imagecolorallocate($bimg,255, 255, 0);
  $str = "中国";
  $str = mb_convert_encoding($str, "html-entities","utf-8");
  imagettftext($bimg, 42, 0, rand(20,getWidth($im2)-100), rand(40,getHeight($im2)), $color, 'MSYH.TTF', $str);
  //剪切,重新生成缩略图
  $new = imagecreatetruecolor(50, 50);
  imagecopyresized($new, $bimg, 0, 0, 0, 0, 50, 50, getWidth($im2), getHeight($im2));
  //输出到浏览器
  header("Content-Type: image/jpeg");
  //如果为png图片也可正常显示,浏览器负责正确解析
  imagejpeg($new);
  //生成大图,小图
  imagejpeg($new,'small.jpg');
  imagejpeg($bimg,'big.jpg');
  function getImage($img_file) {
    $image = getimagesize($img_file);
    //判断是那种图片类型
    switch($image[2]) {
      case 1:
        $img = @imagecreatefromgif($img_file);
        break;
      case 2:
        $img = @imagecreatefromjpeg($img_file);
        break;
      case 3:
        $img = @imagecreatefrompng($img_file);
        break;
    }
    return $img;
  }
  function getWidth($img_file) {
    $image = getimagesize($img_file);
    return $image[0];
  }
  function getHeight($img_file) {
    $image = getimagesize($img_file);
    return $image[1];
  }
?>

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP图形与图片操作技巧汇总》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php面向对象程序设计入门教程》、《PHP网络编程技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

动易数据转成dedecms的php程序

PS:这个可以举一反三,如新云或NB等asp文章系统都可转为dedecms或其它php的cms 复制代码 代码如下:<?php  //读取mdb数据库例程&nb...

javascript some()函数用法详解

参数说明 callback: 要对每个数组元素执行的回调函数。 thisObject : 在执行回调函数时定义的this对象。 功能说明 对数组中的每个元素都执行一次指定的函数(call...

WordPress中登陆后关闭登陆页面及设置用户不可见栏目

WordPress中登陆后关闭登陆页面及设置用户不可见栏目

用户登录后关闭登录页面 WordPress默认的登录页面是:http://WP目录/wp-login.php,登录后会自动跳转到:http://WP目录/wp-admin。现在问题来了,...

array_multisort实现PHP多维数组排序示例讲解

array_multisort — 对多个数组或多维数组进行排序 说明 bool array_multisort ( array ar1 [, mixed arg [, mixed .....

PHP实现从PostgreSQL数据库检索数据分页显示及根据条件查找数据示例

本文实例讲述了PHP实现从PostgreSQL数据库检索数据分页显示及根据条件查找数据。分享给大家供大家参考,具体如下: 主要功能是从postgreSql查询数据,并检索,由于自己刚开始...