From 6f542ab26ea4bc65ae33a691802d233d8dafa592 Mon Sep 17 00:00:00 2001 From: Cash Costello Date: Sun, 12 Jul 2009 01:27:26 +0000 Subject: cleaned up the command line watermarking code --- lib/resize.php | 10 +++++-- lib/watermark.php | 86 ++++++++++++++++++++++++++++++------------------------- 2 files changed, 54 insertions(+), 42 deletions(-) (limited to 'lib') diff --git a/lib/resize.php b/lib/resize.php index a379d8c93..894a68fff 100644 --- a/lib/resize.php +++ b/lib/resize.php @@ -66,6 +66,8 @@ if (!$rtn_code) return false; $file->largethumb = $prefix."largethumb".$filestorename; + + tp_gd_watermark($thumbname); unset($thumb); @@ -252,6 +254,8 @@ if (!$rtn_code) return false; $file->largethumb = $prefix."largethumb".$filestorename; + + tp_imagick_watermark($thumbname); unset($thumb); @@ -422,9 +426,9 @@ return false; $file->largethumb = $prefix."largethumb".$filestorename; - - //tp_watermark($thumbs); - + + tp_imagick_cmdline_watermark($thumbname); + unset($thumb); diff --git a/lib/watermark.php b/lib/watermark.php index 25eb52d48..b60bae88e 100644 --- a/lib/watermark.php +++ b/lib/watermark.php @@ -1,55 +1,63 @@ owner_guid); - $username = $user->username; + $watermark_text = get_plugin_setting('watermark_text', 'tidypics'); + if (!$watermark_text) + return; + $im_path = get_plugin_setting('im_path', 'tidypics'); - if(!$im_path) { + if (!$im_path) { $im_path = "/usr/bin/"; } - if(substr($im_path, strlen($im_path)-1, 1) != "/") $im_path .= "/"; - $viewer = get_loggedin_user(); - $watermark_text = get_plugin_setting('watermark_text', 'tidypics'); - $watermark_text = str_replace("%username%", $viewer->username, $watermark_text); + // make sure end of path is / + if (substr($im_path, strlen($im_path)-1, 1) != "/") $im_path .= "/"; + + + $owner = get_loggedin_user(); + + + $watermark_text = str_replace("%username%", $owner->username, $watermark_text); $watermark_text = str_replace("%sitename%", $CONFIG->sitename, $watermark_text); - if( $watermark_text ) { //get this value from the plugin settings - if( $thumbs["thumblarge"] ) { - $ext = ".png"; - - $watermark_filename = strtolower($watermark_text); - $watermark_filename = preg_replace("/[^\w-]+/", "-", $watermark_filename); - $watermark_filename = trim($watermark_filename, '-'); - - $user_stamp_base = tp_get_img_dir(); - $user_stamp_base .= strtolower($viewer->name . "_" . $watermark_filename . "_stamp"); - - if( !file_exists( $user_stamp_base . $ext )) { //create the watermark if it doesn't exist - $commands = array(); - $commands[] = $im_path . 'convert -size 300x50 xc:grey30 -pointsize 20 -gravity center -draw "fill grey70 text 0,0 \''. $watermark_text . '\'" "'. $user_stamp_base . '_fgnd' . $ext . '"'; - $commands[] = $im_path . 'convert -size 300x50 xc:black -pointsize 20 -gravity center -draw "fill white text 1,1 \''. $watermark_text . '\' text 0,0 \''. $watermark_text . '\' fill black text -1,-1 \''. $watermark_text . '\'" +matte ' . $user_stamp_base . '_mask' . $ext; - $commands[] = $im_path . 'composite -compose CopyOpacity "' . $user_stamp_base . "_mask" . $ext . '" "' . $user_stamp_base . '_fgnd' . $ext . '" "' . $user_stamp_base . $ext . '"'; - $commands[] = $im_path . 'mogrify -trim +repage "' . $user_stamp_base . $ext . '"'; - $commands[] = 'rm "' . $user_stamp_base . '_mask' . $ext . '"'; - $commands[] = 'rm "' . $user_stamp_base . '_fgnd' . $ext . '"'; - - foreach( $commands as $command ) { - exec( $command ); - } - } - //apply the watermark - $commands = array(); - $commands[] = $im_path . 'composite -gravity south -geometry +0+10 "' . $user_stamp_base . $ext . '" "' . $thumbs["thumblarge"] . '" "' . $thumbs["thumblarge"] . '_watermarked"'; - $commands[] = "mv \"$thumbs[thumblarge]" . "_watermarked\" \"$thumbs[thumblarge]\""; - foreach( $commands as $command ) { - exec( $command ); - } + $ext = ".png"; + + $watermark_filename = strtolower($watermark_text); + $watermark_filename = preg_replace("/[^\w-]+/", "-", $watermark_filename); + $watermark_filename = trim($watermark_filename, '-'); + + $user_stamp_base = tp_get_img_dir(); + $user_stamp_base .= strtolower($owner->username . "_" . $watermark_filename . "_stamp"); + + if ( !file_exists( $user_stamp_base . $ext )) { //create the watermark if it doesn't exist + $commands = array(); + $commands[] = $im_path . 'convert -size 300x50 xc:grey30 -pointsize 20 -gravity center -draw "fill grey70 text 0,0 \''. $watermark_text . '\'" "'. $user_stamp_base . '_fgnd' . $ext . '"'; + $commands[] = $im_path . 'convert -size 300x50 xc:black -pointsize 20 -gravity center -draw "fill white text 1,1 \''. $watermark_text . '\' text 0,0 \''. $watermark_text . '\' fill black text -1,-1 \''. $watermark_text . '\'" +matte ' . $user_stamp_base . '_mask' . $ext; + $commands[] = $im_path . 'composite -compose CopyOpacity "' . $user_stamp_base . "_mask" . $ext . '" "' . $user_stamp_base . '_fgnd' . $ext . '" "' . $user_stamp_base . $ext . '"'; + $commands[] = $im_path . 'mogrify -trim +repage "' . $user_stamp_base . $ext . '"'; + $commands[] = 'rm "' . $user_stamp_base . '_mask' . $ext . '"'; + $commands[] = 'rm "' . $user_stamp_base . '_fgnd' . $ext . '"'; + + foreach( $commands as $command ) { + exec( $command ); } } + + //apply the watermark + $commands = array(); + $commands[] = $im_path . 'composite -gravity south -geometry +0+10 "' . $user_stamp_base . $ext . '" "' . $filename . '" "' . $filename . '_watermarked"'; + $commands[] = "mv \"$filename" . "_watermarked\" \"$filename\""; + foreach( $commands as $command ) { + exec( $command ); + } } ?> \ No newline at end of file -- cgit v1.2.3