In diesem Artikel wird hauptsächlich die Funktion zum dynamischen Hinzufügen von Bildwasserzeichen entsprechend der Farbumgebung in PHP vorgestellt. Ich hoffe, dass er für alle hilfreich ist.
Das Beispiel in diesem Artikel beschreibt, wie PHP entsprechend der Farbgrenze des Bildes Wasserzeichen an verschiedenen Stellen hinzufügt. 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);
Zusammenfassung: Das Obige ist der gesamte Inhalt des Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein.
Verwandte Empfehlungen:
PHP-Definition und Implementierung des Ereignismechanismus
PHP-Dateioperationen und Zeichenkettenverschlüsselung Methode
Funktion zum Hinzufügen, Löschen, Ändern und Überprüfen, implementiert von MySQL in PHP
Das obige ist der detaillierte Inhalt vonPHP realisiert die dynamische Additionsfunktion von Bildwasserzeichen entsprechend der Farbumgebung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!