ホームページ > バックエンド開発 > PHPチュートリアル > エディターの画像の透かし

エディターの画像の透かし

WBOY
リリース: 2016-07-25 08:49:33
オリジナル
1304 人が閲覧しました
  1. /*PHP 画像追加テキスト透かしライブラリ
  2. このクラス ライブラリは現在テキスト透かしのみをサポートしており、位置は右下隅で、色はランダムです
  3. 呼び出しメソッド:
  4. 1.必要に応じてウォーターマークを追加します。 ファイルの先頭にクラス ライブラリを導入します。
  5. include_once 'imageClass.php';
  6. 2. 新しいクラスを宣言します。
  7. $tpl=new image_fu; 3. 画像ウォーターマークのパラメーターを指定します。
  8. $ tpl->img (画像パス、ウォーターマーク テキスト、フォント パス、フォント サイズ、フォント角度);
  9. 例: $tpl->gt;img('abc.jpg','これはウォーターマーク テキストです','ziti.ttf ',30,0)
  10. */
  11. class image_fu{
  12. private $image;
  13. private $img_info;
  14. private $img_width;
  15. private $img_height;
  16. private $img_im;
  17. private $img_text;
  18. private $img_ttf ='';
  19. プライベート $img_new;
  20. プライベート $img_text_size;
  21. プライベート $img_jd;
  22. function img($img='',$txt='',$ttf='',$size=12,$jiaodu =0){
  23. if(isset($img )&&file_exists($img)){// 画像が存在するかどうかを確認します
  24. $this->gt;image =$img;
  25. $this->gt;img_text=$txt;
  26. $ this->img_text_size=$size;
  27. $this ->img_jd=$jiaodu;
  28. if(file_exists($ttf)){
  29. $this->img_ttf=$ttf;
  30. }else{
  31. exit('フォントファイル: '.$ttf.' が存在しません!' );
  32. }
  33. $this->imgyesno();
  34. }else{
  35. exit('画像ファイル: '.$img.' が存在しません');
  36. }
  37. }
  38. プライベート関数 imgyesno(){
  39. $this->img_info =getimagesize($this->image);
  40. $this->img_width =$this->gt;img_info[0];/ /画像の幅
  41. $this->img_height=$this->img_info[1];//画像の高さ
  42. //画像の種類を検出
  43. switch($this->img_info[2]){
  44. case 1: $this->img_im = imagecreatefromgif($this->image);break;
  45. ケース 2:$this->gt;img_im = imagecreatefromjpeg($this->image);break;
  46. ケース 3:$this-> ;img_im = imagecreatefrompng($this->image);break ;
  47. default:exit('画像形式はウォーターマークをサポートしていません');
  48. }
  49. $this->img_text();
  50. }
  51. function img_text(){
  52. imagealphablending($this->img_im, true);
  53. //色を設定します
  54. $color=imagecolorallocate($this->img_im,255,255,255);
  55. $txt_height=$this-> img_text_size;
  56. $txt_jiaodu=$this->img_jd;
  57. $ ttf_im=imagettfbbox($txt_height,$txt_jiaodu,$this->img_ttf,$this->img_text);
  58. $w = $ttf_im[2] - $ttf_im[6];
  59. $h = $ttf_im[3] - $ttf_im[7];
  60. //$h = $ttf_im[8]; $ttf_im);
  61. $txt_y =$this->gt;img_height *0.5;
  62. $txt_x =$this->img_width*0.2;
  63. //$txt_y =0;
  64. //$txt_x =0;
  65. $this->img_new=@imagettftext($this->img_im,$txt_height,$txt_jiaodu,$txt_x,$txt_y,$color,$this->img_ttf,$this->img_text);
  66. @unlink($this->image);//画像を削除
  67. switch($this->img_info[2]) {//背景画像の形式を取得
  68. case 1:imagegif($this->img_im ,$this->image);break;
  69. ケース 2:imagejpeg( $this->img_im,$this->image);
  70. ケース 3:imagepng($this->img_im,$this- >image);break;
  71. デフォルト: exit('ウォーターマーク画像に失敗しました' );
  72. }
  73. }
  74. // 画像を表示
  75. function img_show(){echo ''.$ this->img_text.'';}
  76. //メモリを解放
  77. プライベート関数 img_nothing(){
  78. unset($this- >img_info);
  79. imagedestroy($this->img_im);
  80. }
  81. }
  82. ?>
  83. コードをコピーします
  1. /**
  2. * JetBrains PhpStorm によって作成されました。
  3. * ユーザー: taoqili
  4. * 日付: 12-7-18
  5. * 時刻: 上午 10:42
  6. */
  7. header("Content-Type: text/html; charset=utf-8");
  8. error_reporting(E_ERROR | E_WARNING);
  9. include "アップローダー. class.php";
  10. //アップロード画像ボックス内の説明フォーム名,
  11. $title = htmlspecialchars($_POST['pictitle'], ENT_QUOTES);
  12. $path = htmlspecialchars($_POST['dir'], ENT_QUOTES ) ;
  13. //設定をアップロードします
  14. $config = array(
  15. "savePath" => ($path == "1" ? "upload/" : "upload1/"),
  16. "maxSize" => 1000, / /Unit KB
  17. "allowFiles" => array(".gif", ".png", ".jpg", ".jpeg", ".bmp")
  18. );
  19. //アップロードインスタンスオブジェクトを生成し、アップロード完了
  20. $up = new Uploader("upfile", $config);
  21. /**
  22. * アップロードされたファイルに対応するパラメータと配列構造を取得します
  23. * array(
  24. * "originalName" => "", //元のファイル名
  25. * "name" => "", //新しいファイル名
  26. * " url" => "", //返されるアドレス
  27. * "size" => "", //ファイルサイズ
  28. * "type" =>"" , //ファイルタイプ
  29. * "state" => "" //アップロードステータス。アップロードが成功した場合は「SUCCESS」が返される必要があります
  30. * )
  31. */
  32. $info = $up->getFileInfo();
  33. /**
  34. * jsonデータをブラウザに返す
  35. * {
  36. * 'url' :'a.jpg', //保存したファイルパス
  37. * 'title' :'hello', //ファイルの説明、写真の場合は追加されますフロントエンドの title 属性に
  38. * 'original' :'b.jpg', //元のファイル名
  39. * 'state' :'SUCCESS' //アップロードステータス、成功するとSUCCESSが返され、それ以外の値は返されますそのまま写真アップロードボックスに返却してください
  40. * }
  41. */
  42. /* include "imgwater.php";
  43. $tpl=new image_fu;
  44. $tpl->img($info['url'],'http://www.zgxbzh.com/','simsun. ttc ',30,0);*/
  45. echo "{'url':'" . $info["url"] . "','original': ' " . $info["originalName"] . "','state':'" . $info["state"] . "'}";
コードをコピー


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート