php透かし文字とサムネイルを実現する方法の例

2201 ワード

本稿では,phpによる透かし文字とサムネイルの実現方法について述べる.皆さんの参考にしてください.具体的には以下の通りです.

 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プログラム設計に役立つことを願っています.