成人精品一区二区三区中文字幕-成人精品一区二区三区-成人精品一级毛片-成人精品亚洲-日本在线视频一区二区-日本在线视频免费

導航首頁 ? 技術教程 ? ThinkPHP打水印及設置水印位置的方法
全站頭部文字 我要出現在這里
ThinkPHP打水印及設置水印位置的方法 717 2024-01-24   

本文實例講述了ThinkPHP打水印及設置水印位置的方法。分享給大家供大家參考,具體如下:

最近在用Thinkphp的打水印的功能,發現只能打在左下角。 PHP打水印功還是很容易的,最要是用到

bool imagecopymerge ( resource $dst_im , resource $src_im , int $dst_x , int $dst_y , int $src_x , int $src_y , int $src_w , int $src_h , int $pct )

將 src_im 圖像中坐標從 src_x,src_y 開始,寬度為 src_w,高度為 src_h 的一部分拷貝到 dst_im 圖像中坐標為 dst_x 和 dst_y 的位置上。兩圖像將根據 pct 來決定合并程度,其值范圍從 0 到 100。當 pct = 0 時,實際上什么也沒做,當為 100 時對于調色板圖像本函數和 imagecopy() 完全一樣,它對真彩色圖像實現了 alpha 透明。

水印demo圖:

查看圖片

我需要把水印打到圖片的真中間,查看Thinkphp代碼。發現,作者居然是寫死了,我只能做一個修改

/**
* 為圖片添加水印
* @static public
* @param string $source 原文件名
* @param string $water 水印圖片
* @param string $$savename 添加水印后的圖片名
* @param string $postion 水印的具體位置 leftbottom rightbottom lefttop righttop center <新增>
* @param string $alpha 水印的透明度
* @return void
*/
static public function water($source, $water, $savename=null,$postion="center", $alpha=80) {
//檢查文件是否存在
if (!file_exists($source) || !file_exists($water))
return false;
//圖片信息
$sInfo = self::getImageInfo($source);
$wInfo = self::getImageInfo($water);
//如果圖片小于水印圖片,不生成圖片
if ($sInfo["width"] < $wInfo["width"] || $sInfo['height'] < $wInfo['height']) return false; //建立圖像 $sCreateFun = "imagecreatefrom" . $sInfo['type']; $sImage = $sCreateFun($source); $wCreateFun = "imagecreatefrom" . $wInfo['type']; $wImage = $wCreateFun($water); //設定圖像的混色模式 imagealphablending($wImage, true); //圖像位置,默認為右下角右對齊 $posArr = $this->WaterPostion($postion,$sInfo,$wInfo); //新增
  //生成混合圖像
  imagecopymerge($sImage, $wImage, $posArr[0], $posArr[1], 0, 0, $wInfo['width'], $wInfo['height'], $alpha);
  //輸出圖像
  $ImageFun = 'Image' . $sInfo['type'];
 //如果沒有給出保存文件名,默認為原圖像名
 if (!$savename) {
   $savename = $source;
   @unlink($source);
  }
 //保存圖像
  $ImageFun($sImage, $savename);
   imagedestroy($sImage);
 }
 private function WaterPostion($postion,$sInfo,$wInfo)
 {
   $posY = $sInfo["height"] - $wInfo["height"];
   $posX = $sInfo["width"] - $wInfo["width"];
  switch($postion)
 {
   case "rightbottom":
    return array($posX,$posY);
   break;
   case "leftbottom":
    return array($wInfo["width"],$posY);
   break;
   case "lefttop":
    return array($wInfo["width"],$wInfo["height"]);
   break;
   case "righttop":
    return array($posX,$wInfo["height"]);
   break;
   case "center":
    return array($posX/2,$posY/2);
  break;
  }
}

更多關于thinkPHP相關內容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《thinkPHP模板操作技巧總結》、《ThinkPHP常用方法總結》、《smarty模板入門基礎教程》及《PHP模板技術總結》。

希望本文所述對大家基于ThinkPHP框架的PHP程序設計有所幫助。


PHP

主站蜘蛛池模板: 欠工资不给打什么电话能最快处理| 搜狐视频官网| 心经全文260字| 理发师的情人电影| 雾里看花电视剧剧情介绍| 女王的条件| 闺蜜之夏 电影| 小升初英语试卷可打印| 爱情手册电影| 南来北往分集剧情| 当代大学德语2答案| 免费观看淫www视频| 仲文你好vlog最新视频| 芝加哥急救| 掐脖子的视频| 日本女人的性生活视频| 女用春情药什么好| 伪装者 豆瓣| 大海中的船歌词歌谱| 夜店 电影| 欲海浮沉| 巴霍巴利王2国语版在线观看免费| 双世宠妃1| 昆虫记读书笔记摘抄| 娱乐金鱼眼| 二年级合并综合算式题| 焦波| 电影《kiskisan》在线播放 | 爱奴 电影| 女特警电视剧分集介绍| 永恒族 电影| 贵州三日游| 内蒙古电视台| 诱惑的艺术| 劳力士电话客服电话24小时| 克拉之恋 电视剧| 2年级计算题100道题混合| 免费观看美国破釜沉舟电影| 高清影视图库| 大学英语精读3第三版全书答案| 何玲|

!!!站長長期在線接!!!

網站、小程序:定制開發/二次開發/仿制開發等

各種疑難雜癥解決/定制接口/定制采集等

站長微信:lxwl520520

站長QQ:1737366103