国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 南涧| 兰坪| 西平县| 英德市| 安新县| 麻栗坡县| 亳州市| 尼勒克县| 阜平县| 花莲县| 景宁| 庄浪县| 漳州市| 河间市| 湄潭县| 海盐县| 白河县| 新密市| 乡宁县| 广宗县| 盐源县| 阜平县| 靖江市| 忻城县| 弥勒县| 凉山| 喀喇沁旗| 保康县| 陇西县| 大英县| 海口市| 彰武县| 读书| 丰台区| 柳州市| 无锡市| 泸州市| 固原市| 大庆市| 淄博市| 奉化市|