圖片文字水印 - 圖片水印-按尺寸壓縮

<?php

/**

* 圖片水印

* @param string $source_img 原始圖片url

* @param string $water_map 水印圖片url

*/

function addWaterMap($source_img, $water_map,$left,$top)

{

? list($dst_w, $dst_h, $dst_type) = getimagesize($source_img);

? switch ($dst_type)

? {

? ? ? case 1:

? ? ? ? ? $img = imagecreatefromgif($source_img);

? ? ? ? ? break;

? ? ? case 2:

? ? ? ? ? $img = imagecreatefromjpeg($source_img);

? ? ? ? ? break;

? ? ? case 3:

? ? ? ? ? $img = imagecreatefrompng($source_img);

? ? ? ? ? break;

? ? ? default:

? ? ? ? ? return false;

? ? ? ? ? break;

? }

? $img_x? ? = imagesx($img); //原圖寬

? $img_y? ? = imagesy($img); //原圖高

? imagealphablending($img, true);//設(shè)置為混合填色模式

? list($map_w, $map_h, $map_type) = getimagesize($water_map);

? switch ($map_type)

? {

? ? ? case 1:

? ? ? ? ? $img_water_map = imagecreatefromgif($water_map);

? ? ? ? ? break;

? ? ? case 2:

? ? ? ? ? $img_water_map = imagecreatefromjpeg($water_map);

? ? ? ? ? break;

? ? ? case 3:

? ? ? ? ? $img_water_map = imagecreatefrompng($water_map);

? ? ? ? ? break;

? ? ? default:

? ? ? ? ? return false;

? ? ? ? ? break;

? }

? $water_x = imagesx($img_water_map); //水印寬

? $water_y = imagesy($img_water_map); //水印高

? $wimg_x = $left; //水印x坐標(biāo)

? $wimg_y = $top; //水印y坐標(biāo)

? imagecopy($img, $img_water_map, $wimg_x, $wimg_y, 0, 0, $water_x, $water_y); //分別為原圖访雪,水印叼屠,水印x坐標(biāo)冒嫡,水印y坐標(biāo)妈嘹,水印圖片橫軸開始點(diǎn),水印圖片縱軸開始點(diǎn)莽使,水印橫軸結(jié)束燎字,水印縱軸結(jié)束


? switch ($dst_type) {

? ? ? case 1://GIF

? ? ? ? ? imagegif($img,$source_img);

? ? ? ? ? break;

? ? ? case 2://JPG

? ? ? ? ? imagejpeg($img,$source_img);

? ? ? ? ? break;

? ? ? case 3://PNG

? ? ? ? ? imagepng($img,$source_img);

? ? ? ? ? break;

? ? ? default:

? ? ? ? ? break;

? }

? imagedestroy($img); //銷毀內(nèi)存數(shù)據(jù)流

? imagedestroy($img_water_map); //銷毀內(nèi)存數(shù)據(jù)流

}

/**

? * 壓縮圖片

? * @param $source_path? 原圖路徑

? * @param $target_path? 保存路徑

? * @param $imgWidth? ? 目標(biāo)寬度

? * @param $imgHeight? ? 目標(biāo)高度

? * @return bool|string

? */

function resize_image($source_path,$target_path,$imgWidth,$imgHeight)

{

? ? $source_info = getimagesize($source_path);

? ? $source_mime = $source_info['mime'];

? ? switch ($source_mime)

? ? {

? ? ? ? case 'image/gif':

? ? ? ? ? ? $source_image = imagecreatefromgif($source_path);

? ? ? ? ? ? $ext = ".gif";

? ? ? ? ? ? break;

? ? ? ? case 'image/jpeg':

? ? ? ? ? ? $source_image = imagecreatefromjpeg($source_path);

? ? ? ? ? ? $ext = ".jpg";

? ? ? ? ? ? break;

? ? ? ? case 'image/png':

? ? ? ? ? ? $source_image = imagecreatefrompng($source_path);

? ? ? ? ? ? $ext = ".png";

? ? ? ? ? ? break;

? ? }

? ? $target_image? ? = imagecreatetruecolor($imgWidth, $imgHeight); //創(chuàng)建一個彩色的底圖

? ? imagecopyresampled($target_image, $source_image, 0, 0, 0, 0, $imgWidth, $imgHeight, $source_info[0], $source_info[1]);

? ? //保存圖片到本地

? ? $dir = $target_path. '/'. date("Ymd") . '/';

? ? if (!is_dir($dir)) {

? ? ? ? mkdir($dir, 0777);

? ? }

? ? $fileName = $dir.date("YmdHis").uniqid().$ext;

? ? switch ($source_mime)

? ? {

? ? ? ? case 'image/gif'://GIF

? ? ? ? ? ? $listen = imagegif($target_image,'./'.$fileName);

? ? ? ? ? ? break;

? ? ? ? case 'image/jpeg'://JPG

? ? ? ? ? ? $listen = imagejpeg($target_image,'./'.$fileName);

? ? ? ? ? ? break;

? ? ? ? case 'image/png'://PNG

? ? ? ? ? ? $listen = imagepng($target_image,'./'.$fileName);

? ? ? ? ? ? break;

? ? }

? ? if($listen)

? ? {

? ? ? ? $fileName = '';

? ? }

? ? imagedestroy($target_image);

? ? return $fileName;

}

/**

? * 文字水印

? * @param $dst_path? ? 原圖地址

? * @param $fontSize? ? 文字大小

? * @param $left? ? ? ? 文字左邊位置

? * @param $top? ? ? ? ? 文字頂部位置

? * @param $text? ? ? ? 文本內(nèi)容

? * @param $circleSize? 文本旋轉(zhuǎn)角度

? * @return bool|string

? */

function font_stamp($dst_path,$fontSize = 20,$left=0,$top=0,$text='',$circleSize = 0)

{

? $img = imagecreatefromstring(file_get_contents($dst_path));


? $font = dirname(__FILE__).'\xdct.ttf';//字體,字體文件需保存到相應(yīng)文件夾下

? $black = imagecolorallocate($img, 255, 255, 255);//字體顏色 RGB

? imagefttext($img, $fontSize, $circleSize, $left, $top, $black, $font, $text);


? list($bgWidth, $bgHight, $bgType) = getimagesize($dst_path);

? switch($bgType){

? ? ? case 1: //gif

? ? ? ? ? header('Content-Type:image/gif');

? ? ? ? ? imagegif($img);

? ? ? ? ? break;

? ? ? case 2: //jpg

? ? ? ? ? header('Content-Type:image/jpg');

? ? ? ? ? imagejpeg($img);

? ? ? ? ? break;

? ? ? case 3: //png

? ? ? ? ? header('Content-Type:image/png');

? ? ? ? ? imagepng($img);? //在 images 目錄下就會生成一個 circle.png 文件,上面也可設(shè)置相應(yīng)的保存目錄及文件名煤痕。

? ? ? ? ? break;

? }

? imagedestroy($img);

}

$source = "poster.png";

$stamp? = "watermark.png";

// addWaterMap($source,$stamp,0,0);

// $file =? resize_image($source,"thumb",100,100);

// echo $file;

font_stamp($source,50,$left=10,$top=100,$text='我是文本內(nèi)容我是文本內(nèi)容我是文本內(nèi)容');

?>

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市橡类,隨后出現(xiàn)的幾起案子蛇尚,更是在濱河造成了極大的恐慌,老刑警劉巖顾画,帶你破解...
    沈念sama閱讀 216,997評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件取劫,死亡現(xiàn)場離奇詭異匆笤,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)谱邪,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,603評論 3 392
  • 文/潘曉璐 我一進(jìn)店門炮捧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人惦银,你說我怎么就攤上這事咆课。” “怎么了扯俱?”我有些...
    開封第一講書人閱讀 163,359評論 0 353
  • 文/不壞的土叔 我叫張陵书蚪,是天一觀的道長。 經(jīng)常有香客問我迅栅,道長殊校,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,309評論 1 292
  • 正文 為了忘掉前任读存,我火速辦了婚禮为流,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘宪萄。我一直安慰自己艺谆,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,346評論 6 390
  • 文/花漫 我一把揭開白布拜英。 她就那樣靜靜地躺著静汤,像睡著了一般。 火紅的嫁衣襯著肌膚如雪居凶。 梳的紋絲不亂的頭發(fā)上虫给,一...
    開封第一講書人閱讀 51,258評論 1 300
  • 那天,我揣著相機(jī)與錄音侠碧,去河邊找鬼抹估。 笑死,一個胖子當(dāng)著我的面吹牛弄兜,可吹牛的內(nèi)容都是我干的药蜻。 我是一名探鬼主播,決...
    沈念sama閱讀 40,122評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼替饿,長吁一口氣:“原來是場噩夢啊……” “哼语泽!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起视卢,我...
    開封第一講書人閱讀 38,970評論 0 275
  • 序言:老撾萬榮一對情侶失蹤踱卵,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后据过,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體惋砂,經(jīng)...
    沈念sama閱讀 45,403評論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡妒挎,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,596評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了西饵。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片酝掩。...
    茶點(diǎn)故事閱讀 39,769評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖眷柔,靈堂內(nèi)的尸體忽然破棺而出庸队,到底是詐尸還是另有隱情,我是刑警寧澤闯割,帶...
    沈念sama閱讀 35,464評論 5 344
  • 正文 年R本政府宣布彻消,位于F島的核電站,受9級特大地震影響宙拉,放射性物質(zhì)發(fā)生泄漏宾尚。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,075評論 3 327
  • 文/蒙蒙 一谢澈、第九天 我趴在偏房一處隱蔽的房頂上張望煌贴。 院中可真熱鬧,春花似錦锥忿、人聲如沸牛郑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,705評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽淹朋。三九已至,卻和暖如春钉答,著一層夾襖步出監(jiān)牢的瞬間础芍,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,848評論 1 269
  • 我被黑心中介騙來泰國打工数尿, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留仑性,地道東北人。 一個月前我還...
    沈念sama閱讀 47,831評論 2 370
  • 正文 我出身青樓右蹦,卻偏偏與公主長得像诊杆,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子何陆,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,678評論 2 354

推薦閱讀更多精彩內(nèi)容