<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ``` <?php class picture { ??var $PICTURE_URL;//要處理的圖片 ??var $DEST_URL="temp__01.jpg";//生成目標圖片位置 ??var $PICTURE_CREATE;//要創建的圖片 ??var $TURE_COLOR;//新建一個真彩圖象 ??var $PICTURE_WIDTH;//原圖片寬度 ??var $PICTURE_HEIGHT;//原圖片高度 /* 水印的類型,默認的為水印文字 */ ??var $MARK_TYPE=1; ??var $WORD;//經過UTF-8后的文字 ??var $WORD_X;//文字橫坐標 ??var $WORD_Y;//文字縱坐標 ??var $FONT_TYPE;//字體類型 ??var $FONT_SIZE="12";//字體大小 ??var $FONT_WORD;//文字 ??var $ANGLE=0;//文字的角度,默認為0 ??var $FONT_COLOR="#000000";//文字顏色 ??var $FONT_PATH="font/simkai.ttf";//字體庫,默認為宋體 ??var $FORCE_URL;//水印圖片 ??var $FORCE_X=0;//水印橫坐標 ??var $FORCE_Y=0;//水印縱坐標 ??var $FORCE_START_X=0;//切起水印的圖片橫坐標 ??var $FORCE_START_Y=0;//切起水印的圖片縱坐標 ??var $PICTURE_TYPE;//圖片類型 ??var $PICTURE_MIME;//輸出的頭部 /* 縮放比例為1的話就按縮放高度和寬度縮放 */ ??var $ZOOM=1;//縮放類型 ??var $ZOOM_MULTIPLE;//縮放比例 ??var $ZOOM_WIDTH;//縮放寬度 ??var $ZOOM_HEIGHT;//縮放高度 /* 裁切,按比例和固定長度、寬度 */ ??var $CUT_TYPE=1;//裁切類型 ??var $CUT_X=0;//裁切的橫坐標 ??var $CUT_Y=0;//裁切的縱坐標 ??var $CUT_;//裁切的寬度 ??var $CUT_HEIGHT=100;//裁切的高度 /* 銳化 */ ??var $SHARP="7.0";//銳化程度 /* 透明度處理 */ ??var $ALPHA='100';//透明度在0-127之間 ??var $ALPHA_X="90"; ??var $ALPHA_Y="50"; /* 任意角度旋轉 */ ??var $CIRCUMROTATE="90.0";//注意,必須為浮點數 /* 出錯信息 */ ??var $ERROR=array( ????'unalviable'=>'沒有找到相關圖片!' ??); /* 構造函數:函數初始化 */ ??function __construct($PICTURE_URL) ??{ ????$this->get_info($PICTURE_URL); ??} ??function get_info($PICTURE_URL) ??{ ????/* ????處理原圖片的信息,先檢測圖片是否存在,不存在則給出相應的信息 ????*/ ????@$SIZE=getimagesize($PICTURE_URL); ????if(!$SIZE) ????{ ??????exit($this->ERROR['unalviable']); ????} ????//得到原圖片的信息類型、寬度、高度 ????$this->PICTURE_MIME=$SIZE['mime']; ????$this->PICTURE_; ????$this->PICTURE_HEIGHT=$SIZE[1]; ????//創建圖片 ????switch($SIZE[2]) ????{ ??????case 1: ????????$this->PICTURE_CREATE=imagecreatefromgif($PICTURE_URL); ????????$this->PICTURE_TYPE="imagejpeg"; ????????$this->PICTURE_EXT="jpg"; ????????break; ??????case 2: ????????$this->PICTURE_CREATE=imagecreatefromjpeg($PICTURE_URL); ????????$this->PICTURE_TYPE="imagegif"; ????????$this->PICTURE_EXT="gif"; ????????break; ??????case 3: ????????$this->PICTURE_CREATE=imagecreatefrompng($PICTURE_URL); ????????$this->PICTURE_TYPE="imagepng"; ????????$this->PICTURE_EXT="png"; ????????break; ????} ????/* ????文字顏色轉換16進制轉換成10進制 ????*/ ????preg_match_all("/([0-f]){2,2}/i",$this->FONT_COLOR,$MATCHES); ????if(count($MATCHES)==3) ????{ ??????$this->RED=hexdec($MATCHES[0][0]); ??????$this->GREEN=hexdec($MATCHES[0][1]); ??????$this->BLUE=hexdec($MATCHES[0][2]); ????} ??} ??//end of __construct ??/* ??將16進制的顏色轉換成10進制的(R,G,B) ??*/ ??function hex2dec() ??{ ????preg_match_all("/([0-f]){2,2}/i",$this->FONT_COLOR,$MATCHES); ????if(count($MATCHES)==3) ????{ ??????$this->RED=hexdec($MATCHES[0][0]); ??????$this->GREEN=hexdec($MATCHES[0][1]); ??????$this->BLUE=hexdec($MATCHES[0][2]); ????} ??} ??//縮放類型 ??function zoom_type($ZOOM_TYPE) ??{ ????$this->ZOOM=$ZOOM_TYPE; ??} ??//對圖片進行縮放,如果不指定高度和寬度就進行縮放 ??function zoom() ??{ ????//縮放的大小 ????if($this->ZOOM==0) ????{ ??????$this->ZOOM_;gt;PICTURE_WIDTH * $this->ZOOM_MULTIPLE; ??????$this->ZOOM_HEIGHT=$this->PICTURE_HEIGHT * $this->ZOOM_MULTIPLE; ????} ????//新建一個真彩圖象 ????$this->TRUE_COLOR=imagecreatetruecolor($this->ZOOM_WIDTH,$this->ZOOM_HEIGHT); ????$WHITE=imagecolorallocate($this->TRUE_COLOR,255,255,255); ????imagefilledrectangle($this->TRUE_COLOR,0,0,$this->ZOOM_WIDTH,$this->ZOOM_HEIGHT,$WHITE); ????imagecopyresized($this->TRUE_COLOR,$this->PICTURE_CREATE,0,0,0,0,$this->ZOOM_WIDTH,$this->ZOOM_HEIGHT,$this->PICTURE_WIDTH,$this->PICTURE_HEIGHT); ??} ??//end of zoom ??//裁切圖片,按坐標或自動 ??function cut() ??{ ????$this->TRUE_COLOR=imagecreatetruecolor($this->CUT_WIDTH,$this->CUT_WIDTH); ????imagecopy($this->TRUE_COLOR,$this->PICTURE_CREATE, 0, 0, $this->CUT_X, $this->CUT_Y,$this->CUT_WIDTH,$this->CUT_HEIGHT); ??} ??//end of cut ??/* ??在圖片上放文字或圖片 ??水印文字 ??*/ ??function _mark_text() ??{ ????$this->TRUE_COLOR=imagecreatetruecolor($this->PICTURE_WIDTH,$this->PICTURE_HEIGHT); ????$this->WORD=mb_convert_encoding($this->FONT_WORD,'utf-8','gb2312'); ????/* ????取得使用 TrueType 字體的文本的范圍 ????*/ ????$TEMP = imagettfbbox($this->FONT_SIZE,0,$this->FONT_PATH,$this->WORD); ????$WORD_LENGTH=strlen($this->WORD); ????$WORD_WIDTH =$TEMP[2] - $TEMP[6]; ????$WORD_HEIGHT =$TEMP[3] - $TEMP[7]; ????/* ????文字水印的默認位置為右下角 ????*/ ????if($this->WORD_X=="") ????{ ??????$this->WORD_X=$this->PICTURE_WIDTH-$WORD_WIDTH; ????} ????if($this->WORD_Y=="") ????{ ??????$this->WORD_Y=$this->PICTURE_HEIGHT-$WORD_HEIGHT; ????} ????imagesettile($this->TRUE_COLOR,$this->PICTURE_CREATE); ????imagefilledrectangle($this->TRUE_COLOR,0,0,$this->PICTURE_WIDTH,$this->PICTURE_HEIGHT,IMG_COLOR_TILED); ????$TEXT2=imagecolorallocate($this->TRUE_COLOR,$this->RED,$this->GREEN,$this->Blue); ????imagettftext($this->TRUE_COLOR,$this->FONT_SIZE,$this->ANGLE,$this->WORD_X,$this->WORD_Y,$TEXT2,$this->FONT_PATH,$this->WORD); ??} ??/* ??水印圖片 ??*/ function _mark_picture() { ??/* ??獲取水印圖片的信息 ??*/ ??@$SIZE=getimagesize($this->FORCE_URL); ??if(!$SIZE) ??{ ????exit($this->ERROR['unalviable']); ??} ??$FORCE_PICTURE_; ??$FORCE_PICTURE_HEIGHT=$SIZE[1]; ??//創建水印圖片 ??switch($SIZE[2]) ??{ ????case 1: ??????$FORCE_PICTURE_CREATE=imagecreatefromgif($this->FORCE_URL); ??????$FORCE_PICTURE_TYPE="gif"; ??????break; ????case 2: ??????$FORCE_PICTURE_CREATE=imagecreatefromjpeg($this->FORCE_URL); ??????$FORCE_PICTURE_TYPE="jpg"; ??????break; ????case 3: ??????$FORCE_PICTURE_CREATE=imagecreatefrompng($this->FORCE_URL); ??????$FORCE_PICTURE_TYPE="png"; ??????break; ??} /* ??判斷水印圖片的大小,并生成目標圖片的大小,如果水印比圖片大,則生成圖片大小為水印圖片的大小。否則生成的圖片大小為原圖片大小。 */ ??$this->NEW_PICTURE=$this->PICTURE_CREATE; ??if($FORCE_PICTURE_WIDTH>$this->PICTURE_WIDTH) ??{ ????$CREATE_;gt;FORCE_START_X; ??} ??else ??{ ????$CREATE_;gt;PICTURE_WIDTH; ??} ??if($FORCE_PICTURE_HEIGHT>$this->PICTURE_HEIGHT) ??{ ????$CREATE_HEIGHT=$FORCE_PICTURE_HEIGHT-$this->FORCE_START_Y; ??} ??else ??{ ????$CREATE_HEIGHT=$this->PICTURE_HEIGHT; ??} ??/* ??創建一個畫布 ??*/ ??$NEW_PICTURE_CREATE=imagecreatetruecolor($CREATE_WIDTH,$CREATE_HEIGHT); ??$WHITE=imagecolorallocate($NEW_PICTURE_CREATE,255,255,255); ??/* ??將背景圖拷貝到畫布中 ??*/ ??imagecopy($NEW_PICTURE_CREATE, $this->PICTURE_CREATE, 0, 0, 0, 0,$this->PICTURE_WIDTH,$this->PICTURE_HEIGHT); ??/* ??將目標圖片拷貝到背景圖片上 ??*/ ??imagecopy($NEW_PICTURE_CREATE, $FORCE_PICTURE_CREATE, $this->FORCE_X, $this->FORCE_Y, $this->FORCE_START_X, $this->FORCE_START_Y,$FORCE_PICTURE_WIDTH,$FORCE_PICTURE_HEIGHT); ??$this->TRUE_COLOR=$NEW_PICTURE_CREATE; } //end of mark function alpha_() { ??$this->TRUE_COLOR=imagecreatetruecolor($this->PICTURE_WIDTH,$this->PICTURE_HEIGHT); ??$rgb="#CDCDCD"; ??$tran_color="#000000"; ??for($j=0;$j<=$this->PICTURE_HEIGHT-1;$j++) ??{ ????for ($i=0;$i<=$this->PICTURE_WIDTH-1;$i++) ????{ ??????$rgb = imagecolorat($this->PICTURE_CREATE,$i,$j); ??????$r = ($rgb >> 16) & 0xFF; ??????$g = ($rgb >> 8) & 0xFF; ??????$b = $rgb & 0xFF; ??????$now_color=imagecolorallocate($this->PICTURE_CREATE,$r,$g,$b); ??????if ($now_color==$tran_color) ??????{ ????????continue; ??????} ??????else ??????{ ????????$color=imagecolorallocatealpha($this->PICTURE_CREATE,$r,$g,$b,$ALPHA); ????????imagesetpixel($this->PICTURE_CREATE,$ALPHA_X+$i,$ALPHA_Y+$j,$color); ??????} ??????$this->TRUE_COLOR=$this->PICTURE_CREATE; ????} ??} } /* 圖片旋轉: 沿y軸旋轉 */ function turn_y() { ??$this->TRUE_COLOR=imagecreatetruecolor($this->PICTURE_WIDTH,$this->PICTURE_HEIGHT); ??for ($x = 0; $x < $this->PICTURE_WIDTH; $x++) ??{ ????imagecopy($this->TRUE_COLOR, $this->PICTURE_CREATE, $this->PICTURE_WIDTH - $x - 1, 0, $x, 0, 1, $this->PICTURE_HEIGHT); ??} } /* 沿X軸旋轉 */ function turn_x() { ??$this->TRUE_COLOR=imagecreatetruecolor($this->PICTURE_WIDTH,$this->PICTURE_HEIGHT); ??for ($y = 0; $y < $this->PICTURE_HEIGHT; $y++) ??{ ????imagecopy($this->TRUE_COLOR, $this->PICTURE_CREATE, 0, $this->PICTURE_HEIGHT - $y - 1, 0, $y, $this->PICTURE_WIDTH, 1); ??} } /* 任意角度旋轉 */ function turn() { ??$this->TRUE_COLOR=imagecreatetruecolor($this->PICTURE_WIDTH,$this->PICTURE_HEIGHT); ??imageCopyResized($this->TRUE_COLOR,$this->PICTURE_CREATE,0,0,0,0,$this->PICTURE_WIDTH,$this->PICTURE_HEIGHT,$this->PICTURE_WIDTH,$this->PICTURE_HEIGHT); ??$WHITE=imagecolorallocate($this->TRUE_COLOR,255,255,255); ??$this->TRUE_COLOR=imagerotate ($this->TRUE_COLOR, $this->CIRCUMROTATE, $WHITE); } /* 圖片銳化 */ function sharp() { ??$this->TRUE_COLOR=imagecreatetruecolor($this->PICTURE_WIDTH,$this->PICTURE_HEIGHT); ??$cnt=0; ??for ($x=0; $x<$this->PICTURE_WIDTH; $x++) ??{ ????for ($y=0; $y<$this->PICTURE_HEIGHT; $y++) ????{ ??????$src_clr1 = imagecolorsforindex($this->TRUE_COLOR, imagecolorat($this->PICTURE_CREATE, $x-1, $y-1)); ??????$src_clr2 = imagecolorsforindex($this->TRUE_COLOR, imagecolorat($this->PICTURE_CREATE, $x, $y)); ??????$r = intval($src_clr2["red"]+$this->SHARP*($src_clr2["red"]-$src_clr1["red"])); ??????$g = intval($src_clr2["green"]+$this->SHARP*($src_clr2["green"]-$src_clr1["green"])); ??????$b = intval($src_clr2["blue"]+$this->SHARP*($src_clr2["blue"]-$src_clr1["blue"])); ??????$r = min(255, max($r, 0)); ??????$g = min(255, max($g, 0)); ??????$b = min(255, max($b, 0)); ??????if (($DST_CLR=imagecolorexact($this->PICTURE_CREATE, $r, $g, $b))==-1) ????????$DST_CLR = imagecolorallocate($this->PICTURE_CREATE, $r, $g, $b); ????????$cnt++; ??????if ($DST_CLR==-1) die("color allocate faile at $x, $y ($cnt)."); ????????imagesetpixel($this->TRUE_COLOR, $x, $y, $DST_CLR); ????} ??} } /* ??將圖片反色處理?? */ function return_color() { ??/* ??創建一個畫布 ??*/ ??$NEW_PICTURE_CREATE=imagecreate($this->PICTURE_WIDTH,$this->PICTURE_HEIGHT); ??$WHITE=imagecolorallocate($NEW_PICTURE_CREATE,255,255,255); ??/* ??將背景圖拷貝到畫布中 ??*/ ??imagecopy($NEW_PICTURE_CREATE, $this->PICTURE_CREATE, 0, 0, 0, 0,$this->PICTURE_WIDTH,$this->PICTURE_HEIGHT); ??$this->TRUE_COLOR=$NEW_PICTURE_CREATE; } /* 生成目標圖片并顯示 */ function show() { ??// 判斷瀏覽器,若是IE就不發送頭 ??if(isset($_SERVER['HTTP_USER_AGENT'])) ??{ ????$ua = strtoupper($_SERVER['HTTP_USER_AGENT']); ????if(!preg_match('/^.*MSIE.*\)$/i',$ua)) ????{ ??????header("Content-type:$this->PICTURE_MIME"); ????} ??} ??$OUT=$this->PICTURE_TYPE; ??$OUT($this->TRUE_COLOR); } /* 生成目標圖片并保存 */ function save_picture() { ??// 以 JPEG 格式將圖像輸出到瀏覽器或文件 ??$OUT=$this->PICTURE_TYPE; ??if(function_exists($OUT)) ??{ ????// 判斷瀏覽器,若是IE就不發送頭 ????if(isset($_SERVER['HTTP_USER_AGENT'])) ????{ ??????$ua = strtoupper($_SERVER['HTTP_USER_AGENT']); ??????if(!preg_match('/^.*MSIE.*\)$/i',$ua)) ??????{ ????????header("Content-type:$this->PICTURE_MIME"); ??????} ????} ????if(!$this->TRUE_COLOR) ????{ ??????exit($this->ERROR['unavilable']); ????} ????else ????{ ??????$OUT($this->TRUE_COLOR,$this->DEST_URL); ??????$OUT($this->TRUE_COLOR); ????} ??} } /* 析構函數:釋放圖片 */ function __destruct() { /*釋放圖片*/ ??imagedestroy($this->TRUE_COLOR); ??imagedestroy($this->PICTURE_CREATE); } //end of class } ?> ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看