首頁 >後端開發 >php教程 >php實作水印文字和縮圖的方法

php實作水印文字和縮圖的方法

墨辰丷
墨辰丷原創
2018-05-29 10:01:281567瀏覽

這篇文章主要介紹了php實現水印文字和縮圖的方法,結合完整實例形式分析了php實現水印文字添加與縮圖生成的相關步驟及操作技巧,需要的朋友可以參考下

具體如下:

<?php
  $im = &#39;xiatian.jpg&#39;;
  $im2 = &#39;winter3.jpg&#39;;
  $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, &#39;MSYH.TTF&#39;, $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,&#39;small.jpg&#39;);
  imagejpeg($bimg,&#39;big.jpg&#39;);
  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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn