亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

圖片可以顯示但是不顯示水印文字,封裝好的壓縮圖片和沒有封裝的文字水印都能運行

<?php?

? ? require "imageClass.php";

? ? $src = '250px-Wtybill.jpeg';

? ? $image = new Image($src);

$font_url = "msyh.ttc";

$content = "wtybill";

$color = array(

0=>255,

1=>225,

2=>225,

);

$transparency = 30;

$size = 20;

$rotate = 10;

$move = array(

'x'=>20,

'y'=>30

);

? ? $image->fontMark($font_url,$content,$color,$transparency,$Size,$rotate,$move);

? ? $image->show();

$image->save(success);

?>


<title>封裝-壓縮圖片</title>

<?php

class Image{

private $info;

public $image;

public function __construct($str){

$info = getimagesize($str);

$this->info = array(

'width'=>$info[0],

'height'=>$info[1],

'type'=>image_type_to_extension($info[2],false),

'mime'=>$info['mime'],

);

$fun = "imagecreatefrom{$this->info['type']}";

$this->image = $fun($str);

}

public function thumb($width,$height){

$image_thumb = imagecreatetruecolor(300,200);

imagecopyresampled($image_thumb,$this->image,0,0,0,0,$width,$height,$this->info['width'],$this->info['height']);

imagedestroy($this->image);

$this->image =$image_thumb;?

}

public function fontMark($font_url,$content,$color,$transparency,$Size,$rotate,$move){

$col = imagecolorallocatealpha($this->image,$color[0],$color[1],$color[2],$transparency);

imagettftext($this->image,$size,$rotate,$move['x'],$move['y'],$col,$font_url,$content);

}

public function show(){

ob_clean();

header("content-type:".$this->info['mime']);

$funs = "image{$this->info['type']}";

$funs($this->image);

}

public function save($newname){

$funs = "image{$this->info['type']}";

$funs($this->image,$newname.".".$this->info['type']);

}

public function __destruct(){ ? ??

? ? ? ? ? ? ? ? imagedestroy($this->image); ?

? ? ? ? }

}

?>


正在回答

5 回答

0 回復 有任何疑惑可以回復我~

$content,$font_url,$size,$color,$move,$rotate 正常

$font_url,$content,$color,$Size,$rotate,$move 出錯

0 回復 有任何疑惑可以回復我~

卡了一天終于解決了,應該是形參順序出問題了:

把public function fontMark($font_url,$content,$color,$transparency,$Size,$rotate,$move)

改成public function fontMark($content,$font_url,$size,$color,$move,$rotate)(順便把自己,$transparency改成了color,相應的改了test文件相關的)

test文件的fontMark的形參同理。

很神奇:視頻里不知道老師從哪里復制過來的參數,那一段視頻剛好卡了一下,少了一段。

0 回復 有任何疑惑可以回復我~

把public function fontMark($font_url,$content,$color,$transparency,$Size,$rotate,$move)

改成public function fontMark($content,$font_url,$size,$color,$move,$rotate)(順便把自己,$transparency改成了color,相應的改了test文件相關的)

test文件的fontMark的形參同理。

在這兒卡一天了原因我現在還不知道,可能是形參順序問題,也可能是我打錯字了。

很神奇:如果我把錯誤的那段形參復制拿去測試,就算順序對了還是無法顯示水印。

但是自己手寫或者從別的地方復制過來的形參,就算順序和以前無法顯示水印的形參順序一樣也可以顯示水印。

視頻里不知道老師從哪里復制過來的參數,那一段視頻剛好卡了一下,少了一段。

0 回復 有任何疑惑可以回復我~
#1

AXD 提問者

********************無視這段話*********************** 看下面的
2018-08-03 回復 有任何疑惑可以回復我~
  1. test文件的$src在封裝(imageClass)文件里寫成了$str,不過好像沒有影響,為什么呢?

  2. 字體文件這一行老師為什么要把$font改成$font_url,就算不改也沒有影響啊。然后我的字體文件確實叫msyh.ttc,而且前面未封裝的文字水印可以Accepted

0 回復 有任何疑惑可以回復我~
#1

AXD 提問者

補充1.老師在最后一節也是test里寫local01,Class里依舊是local沒有改動但是可以正常運行。
2018-08-03 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

圖片可以顯示但是不顯示水印文字,封裝好的壓縮圖片和沒有封裝的文字水印都能運行

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號