亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

利用PHP怎么根據圖片色界在不同位置添加水印

發布時間:2021-02-19 16:41:27 來源:億速云 閱讀:146 作者:Leah 欄目:開發技術

這篇文章給大家介紹利用PHP怎么根據圖片色界在不同位置添加水印,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

具體實現方法如下:

function add_wm($nmw_water, $src_file, $output_file, $x, $y) {    
    if(file_exists($output_file))    
      return;    
    $w1 = MagickGetImageWidth($nmw_water);    
    $h2 = MagickGetImageHeight($nmw_water);    
    $nmw =NewMagickWand();    
    MagickReadImage($nmw, $src_file);    
    // 默認的加水印位置調整    
    $lt_w = 50;    
    $lt_h = 50;    
    if($x == 0){    
      $w = MagickGetImageWidth($nmw);    
      $h = MagickGetImageHeight($nmw);    
      $x = $w;    
      $y = $h;    
    }else{    
      // 根據具體情況調整    
      $lt_w = 30;    
      $lt_h = 40;    
    }    
    MagickCompositeImage($nmw, $nmw_water, MW_OverCompositeOp, $x - $w1 - $lt_w, $y - $h2 - $lt_h);    
    MagickWriteImage($nmw, $output_file);    
    DestroyMagickWand($nmw);        
  }    
  // 還是groovy的eachFileRecurse好用啊    
  function add_wm_recurse($nmw_water, $to_dir, $output_dir, $arr) {
    $dp = dir($to_dir);    
    while($file=$dp->read()){    
      if($file != '.' && $file != '..'){    
        if(is_dir($to_dir . '/' . $file)){    
          mkdir($output_dir . '/' . $file);    
          add_wm_recurse($nmw_water, $to_dir . '/' . $file, $output_dir . '/' . $file, $arr);    
        }else{    
          if(!array_key_exists($to_dir . '/' . $file, $arr)){
            continue;    
          }    
          $sub_arr = $arr[$to_dir . '/' . $file];    
          if($sub_arr){    
            $x = intval($sub_arr[0]);    
            $y = intval($sub_arr[1]);    
            add_wm($nmw_water, $to_dir . '/' . $file, $output_dir . '/' . $file, $x, $y);    
          }    
        }    
      }    
    }    
    $dp->close();    
  }    
  $to_dir = './resized';    
  $output_dir = './output';    
  // 這個是我用java的ImageIO遍歷圖片像素獲取的符合褲子顏色的區域的坐標array(posX, posY)    
  $arr = array(    
    array(50, 50)    
  );    
  $water = './water.png';    
  $nmw_water =NewMagickWand();    
  MagickReadImage($nmw_water, $water);    
  add_wm_recurse($nmw_water, $to_dir, $output_dir, $arr);    
  DestroyMagickWand($nmw_water);

關于利用PHP怎么根據圖片色界在不同位置添加水印就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

玛沁县| 怀仁县| 铜梁县| 玉屏| 岳西县| 北川| 高淳县| 龙泉市| 汶川县| 钦州市| 田林县| 辛集市| 泾阳县| 乐东| 环江| 色达县| 金坛市| 剑河县| 抚松县| 金阳县| 延安市| 阜新市| 孟津县| 嵩明县| 麻阳| 明水县| 广汉市| 汉阴县| 延寿县| 安仁县| 茶陵县| 宜黄县| 武平县| 长沙市| 余庆县| 贡觉县| 许昌县| 清河县| 灵武市| 合山市| 晋中市|