php ライブラリは既存の画像にテキストの透かしを追加します。このコードはあまり完成していません。アドバイスをお願いします。コードは次のとおりです:
- /*PHP 画像とテキストの透かしライブラリ
- QQ:3697578482 Sad Song
- このクラス ライブラリは現在テキストの透かしのみをサポートしており、場所は右下隅です。 、色はランダムです
-
- メソッドの呼び出し:
- 1. 透かしを入れる必要があるファイルの先頭にクラス ライブラリを導入します:
- include_once 'imageClass.php';
- 2. 新しいクラスを宣言します:
- $tpl= new image_fu;
- 3. 画像の透かしのパラメーターを指定します:
- $tpl->img(画像パス、透かしテキスト、フォント パス、フォント サイズ、フォント角度);
- 例: $tpl->img('abc .jpg','これは透かしテキストです','ziti.ttf ',30,0)
-
- */
-
- class image_fu{
-
- private $image;
- private $img_info;
- private $img_width;
- private $img_height ;
- プライベート $img_im;
- プライベート $img_text;
- プライベート $img_ttf ='';
- プライベート $img_new;
- プライベート $img_text_size;
- プライベート $img_jd;
-
- 関数 img($img='',$txt='' ,$ttf='',$size=12,$jiaodu= 0){
- if(isset($img)&&file_exists($img)){//画像が存在するか確認します
- $this->image =$img ;
- $this->img_text=$txt;
- $this->img_text_size=$size;
- $this->img_jd=$jiaodu;
- if(file_exists($ttf)){
- $this-> img_ttf=$ttf;
- }else{
- exit('フォント ファイル: '.$ttf.' が存在しません! ');
- }
- $this->imgyesno();
- }else{
- exit('画像ファイル:'.$img.' は存在しません');
- }
- }
-
- プライベート関数 imgyesno(){
-
- $this->img_info =getimagesize($this->image);
- $this-> ;img_width =$this->img_info[0];//画像の幅
- $this->img_height=$this->img_info[1];//画像の高さ
-
- //画像の種類を検出
- switch($ this->img_info[2]){
- case 1:$this-> ;img_im = imagecreatefromgif($this->image);break;
- case 2:$this->img_im = imagecreatefromjpeg($this-> ;image);break;
- case 3:$this->img_im = imagecreatefrompng ($this->image);break;
- default:exit('画像形式はウォーターマークをサポートしていません'); this->img_text();
- }
-
- プライベート関数img_text(){
-
- imagealphablending($this->img_im,true);
-
- //カラーを設定
- $color=imagecolorallocate($this->img_im) ,rand(0,255),rand(0,255),rand(0,255));
- $ txt_height=$this->img_text_size;
- $txt_jiaodu=$this->img_jd;
- $ttf_im=imagettfbbox($txt_height,$txt_jiaodu ,$this->img_ttf,$this->img_text);
- $w = $ttf_im[2] - $ttf_im[6];
- $h = $ttf_im[3] - $ttf_im[7]; /$w = $ttf_im[7];
- //$h = $ttf_im[8];
-
- unset($ttf_im);
-
- $txt_y =$this->img_height-$h;
- $txt_x =$ this->img_width-$w;
- //$txt_y =0;
- / /$txt_x =0;
-
- $this->img_new=@imagettftext($this->img_im,$txt_height,$txt_jiaodu, $txt_x,$txt_y,$color,$this->img_ttf,$this->img_text);
-
- @unlink($this->image);//画像を削除
- switch($this-> img_info[2]) {//背景画像の形式を取得します
- case 1:imagegif($ this->img_im,$this->image);break; case 2:imagejpeg($this->img_im) ,$this->image);break;
- case 3:imagepng($this-> img_im,$this->image);break;
- デフォルト: exit('透かし画像に失敗しました'); }
-
- //画像を表示
- function img_show(){echo '';}
-
- //メモリを解放
- プライベート関数img_nothing(){
- unset ($this->>img_info);
- imagedestroy($this->>img_im);
- }
-
- }
-
- ? >
-
-
- コードをコピー
-
-
-
-
-
php
|