国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > PHP > 正文

PHP根據(jù)圖片色界在不同位置加水印的方法

2024-05-04 23:37:03
字體:
供稿:網(wǎng)友

這篇文章主要介紹了PHP根據(jù)圖片色界在不同位置加水印的方法,可實(shí)現(xiàn)圖片水印根據(jù)顏色環(huán)境的動(dòng)態(tài)添加功能,需要的朋友可以參考下

本文實(shí)例講述了PHP根據(jù)圖片色界在不同位置加水印的方法。分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:

 

 
  1. function add_wm($nmw_water, $src_file, $output_file, $x, $y) {  
  2. if(file_exists($output_file))  
  3. return;  
  4. $w1 = MagickGetImageWidth($nmw_water);  
  5. $h1 = MagickGetImageHeight($nmw_water);  
  6. $nmw =NewMagickWand();  
  7. MagickReadImage($nmw, $src_file);  
  8. // 默認(rèn)的加水印位置調(diào)整  
  9. $lt_w = 50;  
  10. $lt_h = 50;  
  11. if($x == 0){  
  12. $w = MagickGetImageWidth($nmw);  
  13. $h = MagickGetImageHeight($nmw);  
  14. $x = $w;  
  15. $y = $h;  
  16. }else{  
  17. // 根據(jù)具體情況調(diào)整  
  18. $lt_w = 30;  
  19. $lt_h = 40;  
  20. }  
  21. MagickCompositeImage($nmw, $nmw_water, MW_OverCompositeOp, $x - $w1 - $lt_w, $y - $h1 - $lt_h);  
  22. MagickWriteImage($nmw, $output_file);  
  23. DestroyMagickWand($nmw);  
  24. }  
  25. // 還是groovy的eachFileRecurse好用啊  
  26. function add_wm_recurse($nmw_water, $to_dir, $output_dir, $arr) { 
  27. $dp = dir($to_dir);  
  28. while($file=$dp->read()){  
  29. if($file != '.' && $file != '..'){  
  30. if(is_dir($to_dir . '/' . $file)){  
  31. mkdir($output_dir . '/' . $file);  
  32. add_wm_recurse($nmw_water, $to_dir . '/' . $file, $output_dir . '/' . $file, $arr);  
  33. }else{  
  34. if(!array_key_exists($to_dir . '/' . $file, $arr)){ 
  35. continue;  
  36. }  
  37. $sub_arr = $arr[$to_dir . '/' . $file];  
  38. if($sub_arr){  
  39. $x = intval($sub_arr[0]);  
  40. $y = intval($sub_arr[1]);  
  41. add_wm($nmw_water, $to_dir . '/' . $file, $output_dir . '/' . $file, $x, $y);  
  42. }  
  43. }  
  44. }  
  45. }  
  46. $dp->close();  
  47. }  
  48. $to_dir = './resized';  
  49. $output_dir = './output';  
  50. // 這個(gè)是我用java的ImageIO遍歷圖片像素獲取的符合褲子顏色的區(qū)域的坐標(biāo)array(posX, posY)  
  51. $arr = array(  
  52. array(50, 50)  
  53. );  
  54. $water = './water.png';  
  55. $nmw_water =NewMagickWand();  
  56. MagickReadImage($nmw_water, $water);  
  57. add_wm_recurse($nmw_water, $to_dir, $output_dir, $arr);  
  58. DestroyMagickWand($nmw_water); 

希望本文所述對(duì)大家的php程序設(shè)計(jì)有所幫助。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 陆河县| 吉安市| 江陵县| 利川市| 德钦县| 中方县| 米易县| 江安县| 德惠市| 岳阳市| 拜泉县| 万年县| 曲水县| 中西区| 和林格尔县| 安溪县| 寿光市| 长春市| 莫力| 巴马| 邮箱| 绍兴市| 本溪市| 克东县| 高陵县| 通化县| 蕉岭县| 通江县| 曲靖市| 正定县| 遂川县| 石柱| 泰顺县| 灵台县| 元谋县| 炎陵县| 和顺县| 合川市| 凉城县| 酒泉市| 和硕县|