Heim > Artikel > Backend-Entwicklung > PHP fügt Wasserzeichen basierend auf der Farbbereichsposition des Bildes hinzu
Wie füge ich in PHP ein Wasserzeichen basierend auf der Farbbereichsposition des Bildes hinzu? In diesem Artikel wird hauptsächlich die PHP-Methode zum Hinzufügen von Wasserzeichen an verschiedenen Stellen entsprechend der Farbgrenze des Bildes vorgestellt, wodurch die dynamische Additionsfunktion von Bildwasserzeichen entsprechend der Farbumgebung realisiert werden kann. Ich hoffe, es hilft allen.
Die spezifische Implementierungsmethode ist wie folgt:
function add_wm($nmw_water, $src_file, $output_file, $x, $y) { if(file_exists($output_file)) return; $w1 = MagickGetImageWidth($nmw_water); $h1 = 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 - $h1 - $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);
Verwandte Empfehlungen:
Baidu-Editor fügt Bildwasserzeichenfunktion hinzu
PHP-Kapselungsklasse zum Hinzufügen, Komprimieren und Ausschneiden von Bildwasserzeichen
Der Implementierungsprozess zum Hinzufügen von Wasserzeichen zu Bildern in PHP
Das obige ist der detaillierte Inhalt vonPHP fügt Wasserzeichen basierend auf der Farbbereichsposition des Bildes hinzu. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!