diff options
author | Sem <sembrestels@riseup.net> | 2012-07-29 04:49:57 +0200 |
---|---|---|
committer | Sem <sembrestels@riseup.net> | 2012-07-29 04:49:57 +0200 |
commit | f900e1e3cd0384aade0594ceffb6e4f51ce71415 (patch) | |
tree | 058fb6fd76c0aa865f1d08013c196b693cc205ba /lib | |
parent | e4c742e5ce21ae857ad28e0ec24fbe6e267adfaa (diff) | |
parent | 3cc5e98299630bf2acae83ec964343309d16392e (diff) | |
download | elgg-f900e1e3cd0384aade0594ceffb6e4f51ce71415.tar.gz elgg-f900e1e3cd0384aade0594ceffb6e4f51ce71415.tar.bz2 |
Merge branch 'no-watermark' of git://github.com/sembrestels/Tidypics
Diffstat (limited to 'lib')
-rw-r--r-- | lib/resize.php | 17 | ||||
-rw-r--r-- | lib/watermark.php | 193 |
2 files changed, 1 insertions, 209 deletions
diff --git a/lib/resize.php b/lib/resize.php index b06f317ca..380e0c406 100644 --- a/lib/resize.php +++ b/lib/resize.php @@ -5,8 +5,6 @@ * @package TidypicsImageResize */ -include dirname(__FILE__) . "/watermark.php"; - /** * Create thumbnails using PHP GD Library @@ -37,7 +35,6 @@ function tp_create_gd_thumbnails($file, $prefix, $filestorename) { $thumbname = $thumb->getFilenameOnFilestore(); $rtn_code = tp_gd_resize( $file->getFilenameOnFilestore(), $thumbname, - FALSE, $image_sizes['tiny_image_width'], $image_sizes['tiny_image_height'], TRUE); @@ -53,7 +50,6 @@ function tp_create_gd_thumbnails($file, $prefix, $filestorename) { $thumbname = $thumb->getFilenameOnFilestore(); $rtn_code = tp_gd_resize( $file->getFilenameOnFilestore(), $thumbname, - FALSE, $image_sizes['small_image_width'], $image_sizes['small_image_height'], TRUE); @@ -68,7 +64,6 @@ function tp_create_gd_thumbnails($file, $prefix, $filestorename) { $thumbname = $thumb->getFilenameOnFilestore(); $rtn_code = tp_gd_resize( $file->getFilenameOnFilestore(), $thumbname, - TRUE, $image_sizes['large_image_width'], $image_sizes['large_image_height'], FALSE); @@ -89,13 +84,12 @@ function tp_create_gd_thumbnails($file, $prefix, $filestorename) { * * @param string $input_name The name of the file on the disk * @param string $output_name The name of the file to be written - * @param bool - watermark this image? * @param int $maxwidth The maximum width of the resized image * @param int $maxheight The maximum height of the resized image * @param TRUE|FALSE $square If set to TRUE, will take the smallest of maxwidth and maxheight and use it to set the dimensions on all size; the image will be cropped. * @return bool TRUE on success or FALSE on failure */ -function tp_gd_resize($input_name, $output_name, $watermark, $maxwidth, $maxheight, $square = FALSE, $x1 = 0, $y1 = 0, $x2 = 0, $y2 = 0) { +function tp_gd_resize($input_name, $output_name, $maxwidth, $maxheight, $square = FALSE, $x1 = 0, $y1 = 0, $x2 = 0, $y2 = 0) { // Get the size information from the image $imgsizearray = getimagesize($input_name); @@ -159,10 +153,6 @@ function tp_gd_resize($input_name, $output_name, $watermark, $maxwidth, $maxheig return $rtn_code; } - if ($watermark) { - tp_gd_watermark($newimage); - } - switch ($imgsizearray['mime']) { case 'image/jpeg': case 'image/pjpeg': @@ -243,8 +233,6 @@ function tp_create_imagick_thumbnails($file, $prefix, $filestorename) { } $file->largethumb = $prefix."largethumb".$filestorename; - tp_imagick_watermark($thumbname); - unset($thumb); return TRUE; @@ -370,9 +358,6 @@ function tp_create_im_cmdline_thumbnails($file, $prefix, $filestorename) { } $file->largethumb = $prefix."largethumb".$filestorename; - - tp_im_cmdline_watermark($thumbname); - unset($thumb); return TRUE; diff --git a/lib/watermark.php b/lib/watermark.php deleted file mode 100644 index f7c228af1..000000000 --- a/lib/watermark.php +++ /dev/null @@ -1,193 +0,0 @@ -<?php -/** - * Watermarking functions - * - * @package TidypicsWatermark - */ - -/** - * Make replacements in watermark text - * - * @param string $text - * @param ElggUser $owner - * @return string - */ -function tp_process_watermark_text($text, $owner) { - global $CONFIG; - - $text = str_replace("%name%", $owner->name, $text); - $text = str_replace("%sitename%", $CONFIG->sitename, $text); - - return $text; -} - -/** - * Create the watermark image filename - * - * @param string $text - * @param ElggUser $owner - * @return string - */ -function tp_get_watermark_filename($text, $owner) { - - $base = elgg_strtolower($text); - $base = preg_replace("/[^\w-]+/", "-", $base); - $base = trim($base, '-'); - - $filename = tp_get_img_dir(); - $filename .= elgg_strtolower($owner->username . "_" . $base . "_stamp"); - - return $filename; -} - -/** - * Use GD to apply watermark to image - * - * @param resource $image GD image resource - */ -function tp_gd_watermark($image) { - global $CONFIG; - - $watermark_text = elgg_get_plugin_setting('watermark_text', 'tidypics'); - if (!$watermark_text) { - return; - } - - // plugins can do their own watermark and return false to prevent this function from running - if (elgg_trigger_plugin_hook('tp_watermark', 'gd', $image, true) === false) { - return; - } - - $owner = elgg_get_logged_in_user_entity(); - - $watermark_text = tp_process_watermark_text($watermark_text, $owner); - - // transparent gray - imagealphablending($image, true); - $textcolor = imagecolorallocatealpha($image, 50, 50, 50, 60); - - // font and location - $font = $CONFIG->pluginspath . "tidypics/fonts/LiberationSerif-Regular.ttf"; - $bbox = imagettfbbox(20, 0, $font, $watermark_text); - - $text_width = $bbox[2] - $bbox[0]; - $text_height = $bbox[1] - $bbox[7]; - - $image_width = imagesx($image); - $image_height = imagesy($image); - - $left = $image_width / 2 - $text_width / 2; - $top = $image_height - 20; - - // write the text on the image - imagettftext($image, 20, 0, $left, $top, $textcolor, $font, $watermark_text); -} - -/** - * imagick watermarking - * - * @param string $filename - * @return bool - */ -function tp_imagick_watermark($filename) { - - $watermark_text = elgg_get_plugin_setting('watermark_text', 'tidypics'); - if (!$watermark_text) { - return false; - } - - // plugins can do their own watermark and return false to prevent this function from running - if (elgg_trigger_plugin_hook('tp_watermark', 'imagick', $filename, true) === false) { - return true; - } - - $owner = elgg_get_logged_in_user_entity(); - - $watermark_text = tp_process_watermark_text($watermark_text, $owner); - - $img = new Imagick($filename); - - $img->readImage($image); - - $draw = new ImagickDraw(); - - //$draw->setFont(""); - - $draw->setFontSize(28); - - $draw->setFillOpacity(0.5); - - $draw->setGravity(Imagick::GRAVITY_SOUTH); - - $img->annotateImage($draw, 0, 0, 0, $watermark_text); - - if ($img->writeImage($filename) != true) { - $img->destroy(); - return false; - } - - $img->destroy(); - - return true; -} - -/** - * ImageMagick watermarking - * - * @param string $filename - */ -function tp_im_cmdline_watermark($filename) { - - $watermark_text = elgg_get_plugin_setting('watermark_text', 'tidypics'); - if (!$watermark_text) { - return; - } - - // plugins can do their own watermark and return false to prevent this function from running - if (elgg_trigger_plugin_hook('tp_watermark', 'imagemagick', $filename, true) === false) { - return; - } - - $im_path = elgg_get_plugin_setting('im_path', 'tidypics'); - if (!$im_path) { - $im_path = "/usr/bin/"; - } - - // make sure end of path is / - if (substr($im_path, strlen($im_path)-1, 1) != "/") { - $im_path .= "/"; - } - - - $owner = elgg_get_logged_in_user_entity(); - - $watermark_text = tp_process_watermark_text($watermark_text, $owner); - - $ext = ".png"; - - $user_stamp_base = tp_get_watermark_filename($watermark_text, $owner); - - - if ( !file_exists( $user_stamp_base . $ext )) { - //create the watermark image 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 ); - } -} |